Weblogic.ejb20.locks.LockTimedOutException ???
Hi Iam getting a LockTimedOutException while calling a bean method..what could
be the reason and this is permenent..occuring all the time..
Below I have given the stack trace..
what could be the problem??
Thanks
Perianayagam.T
####<Jun 10, 2003 8:59:28 AM EDT> <Info> <EJB> <dssappsrv01> <myServer> <ExecuteThread:
'3' for queue: 'default'> <> <> <010051> <EJB Exception during invocation from
home: com.hns.iag.acapulco.ejb.elm.ELMBean_1h1i_HomeImpl@9c1ee threw exception:
weblogic.ejb20.locks.LockTimedOutException: The lock request from EJB:EnterpriseUser
with primary key:<user dn="hnsuid=hsscsr,ou=people,ou=hub0001,hnscompanyid=dway,ou=business,o=hns.com"/>
timed-out after waiting 60,000 ms. The transaction or thread requesting the lock
was:Name=[EJB com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hns.iag.framework.UserCredential)],Xid=11814:95f36eb4(3191949),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=60,seconds left=0,activeThread=Thread[ExecuteThread: '3' for queue:
'default',5,Thread Group for Queue: 'default'],SCInfo[acapulco+myServer]=(state=active),properties=({weblogic.transaction.name=[EJB
com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hns.iag.framework.UserCredential)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myServer+172.18.2.139:7003+acapulco+,
Resources={})]).>
weblogic.ejb20.locks.LockTimedOutException: The lock request from EJB:EnterpriseUser
with primary key:<user dn="hnsuid=hsscsr,ou=people,ou=hub0001,hnscompanyid=dway,ou=business,o=hns.com"/>
timed-out after waiting 60,000 ms. The transaction or thread requesting the lock
was:Name=[EJB com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hns.iag.framework.UserCredential)],Xid=11814:95f36eb4(3191949),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=60,seconds left=0,activeThread=Thread[ExecuteThread: '3' for queue:
'default',5,Thread Group for Queue: 'default'],SCInfo[acapulco+myServer]=(state=active),properties=({weblogic.transaction.name=[EJB
com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hns.iag.framework.UserCredential)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myServer+172.18.2.139:7003+acapulco+,
Resources={})]).
at weblogic.ejb20.locks.ExclusiveLockManager$LockBucket.lock(ExclusiveLockManager.java:528)
at weblogic.ejb20.locks.ExclusiveLockManager.lock(ExclusiveLockManager.java:258)
at weblogic.ejb20.manager.ExclusiveEntityManager.acquireLock(ExclusiveEntityManager.java:164)
at weblogic.ejb20.manager.ExclusiveEntityManager.getReadyBean(ExclusiveEntityManager.java:219)
at weblogic.ejb20.manager.ExclusiveEntityManager.preInvoke(ExclusiveEntityManager.java:198)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:124)
at weblogic.ejb20.internal.EntityEJBObject.preInvoke(EntityEJBObject.java:89)
at com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean_svris_EOImpl.getRoles(EnterpriseUserBean_svris_EOImpl.java:333)
at com.hns.iag.acapulco.ejb.elm.ELMBean.getEnterpriseUserRoles(ELMBean.java:1392)
at com.hns.iag.acapulco.ejb.elm.ELMBean_1h1i_EOImpl.getEnterpriseUserRoles(ELMBean_1h1i_EOImpl.java:2587)
at com.hns.iag.acapulco.ejb.elm.ELMBean_1h1i_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Hi Perianayagam,
This error is fixed in weblogic 6.1SP4 and 7.0 SP3.
Regards,
Slava Imeshev
"Perianayagam.T" <[email protected]> wrote in message
news:[email protected]...
>
Hi Iam getting a LockTimedOutException while calling a bean method..whatcould
be the reason and this is permenent..occuring all the time..
Below I have given the stack trace..
what could be the problem??
Thanks
Perianayagam.T
####<Jun 10, 2003 8:59:28 AM EDT> <Info> <EJB> <dssappsrv01> <myServer><ExecuteThread:
'3' for queue: 'default'> <> <> <010051> <EJB Exception during invocationfrom
home: com.hns.iag.acapulco.ejb.elm.ELMBean_1h1i_HomeImpl@9c1ee threwexception:
weblogic.ejb20.locks.LockTimedOutException: The lock request fromEJB:EnterpriseUser
with primary key:<userdn="hnsuid=hsscsr,ou=people,ou=hub0001,hnscompanyid=dway,ou=business,o=hns.c
om"/>
timed-out after waiting 60,000 ms. The transaction or thread requestingthe lock
was:Name=[EJBcom.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hn
s.iag.framework.UserCredential)],Xid=11814:95f36eb4(3191949),Status=Active,n
umRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=60,seconds left=0,activeThread=Thread[ExecuteThread: '3' for
queue:> 'default',5,Thread Group for Queue:'default',SCInfo[acapulco+myServer]=(state=active),properties=({weblogic.transaction.name=[EJB
>
com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hn
s.iag.framework.UserCredential)]}),OwnerTransactionManager=ServerTM[ServerCo
ordinatorDescriptor=(CoordinatorURL=myServer+172.18.2.139:7003+acapulco+,
Resources={})]).>
weblogic.ejb20.locks.LockTimedOutException: The lock request fromEJB:EnterpriseUser
with primary key:<userdn="hnsuid=hsscsr,ou=people,ou=hub0001,hnscompanyid=dway,ou=business,o=hns.c
om"/>
timed-out after waiting 60,000 ms. The transaction or thread requestingthe lock
was:Name=[EJBcom.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hn
s.iag.framework.UserCredential)],Xid=11814:95f36eb4(3191949),Status=Active,n
umRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=60,seconds left=0,activeThread=Thread[ExecuteThread: '3' for
queue:> 'default',5,Thread Group for Queue:'default',SCInfo[acapulco+myServer]=(state=active),properties=({weblogic.transaction.name=[EJB
>
com.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean.getRoles(com.hn
s.iag.framework.UserCredential)]}),OwnerTransactionManager=ServerTM[ServerCo
ordinatorDescriptor=(CoordinatorURL=myServer+172.18.2.139:7003+acapulco+,
Resources={})]).
atweblogic.ejb20.locks.ExclusiveLockManager$LockBucket.lock(ExclusiveLockManag
er.java:528)
atweblogic.ejb20.locks.ExclusiveLockManager.lock(ExclusiveLockManager.java:258
atweblogic.ejb20.manager.ExclusiveEntityManager.acquireLock(ExclusiveEntityMan
ager.java:164)
atweblogic.ejb20.manager.ExclusiveEntityManager.getReadyBean(ExclusiveEntityMa
nager.java:219)
atweblogic.ejb20.manager.ExclusiveEntityManager.preInvoke(ExclusiveEntityManag
er.java:198)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:124)
atweblogic.ejb20.internal.EntityEJBObject.preInvoke(EntityEJBObject.java:89)
atcom.hns.iag.framework.ejb.user.enterprise.EnterpriseUserBean_svris_EOImpl.ge
tRoles(EnterpriseUserBean_svris_EOImpl.java:333)
atcom.hns.iag.acapulco.ejb.elm.ELMBean.getEnterpriseUserRoles(ELMBean.java:139
2)
atcom.hns.iag.acapulco.ejb.elm.ELMBean_1h1i_EOImpl.getEnterpriseUserRoles(ELMB
ean_1h1i_EOImpl.java:2587)
at com.hns.iag.acapulco.ejb.elm.ELMBean_1h1i_EOImpl_WLSkel.invoke(UnknownSource)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
atweblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:93)
atweblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
atweblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Similar Messages
-
Hello All,
I get a strange problem when I try to log in to the J2EE application based on EJBs:
weblogic.ejb20.locks.LockTimedOutException
I see that I can add an option to the weblogic-ejb-jar.xml file, and I hope that can help for my previous problem:
<weblogic-enterprise-bean><stateful-session-descriptor>
<allow-concurrent-calls>true</allow-concurrent-calls>
</stateful-session-descriptor></weblogic-enterprise-bean>
But I can not edit the weblogic-ejb-jar.xml file under JBuilder ! the file is probably read-only, but I do not know how to change the property. I can not find this file directly under JBuilder directories.
So I have tried to open the module.jar that contained this file. I have checked: the file is not read-only. I have modified directly manually the weblogic-ejb-jar.xml file, but now I get this error in Jbuilder when I open the weblogic-ejb-jar.xml file:
URL: Transformation requires a XSL StyleSheetThe Node does not have a style sheet associated with itEither add a style sheet using the Add stylesheets button on the toolbar or add a valid XSL Processing instruction to the document directly
In conclusion, what should I do to be able to modify the weblogic-ejb-jar.xml file properly ??Ok in a way I have solved my problem (even if I am not completely satisfied by the way on how to proceed...). So thanks to message "JBuilder7.0 and Weblogic6.1" on EJB sun forum :
http://forum.java.sun.com/thread.jsp?thread=285735&forum=13&message=1255488
I have tried the following actions (mentionned in the other forum messages):
- To preserve changes to weblogic*.xml, the safest way is to change the ejb-borland.xml.
(I am not sure that I have applied this advice correctly, because I suppose that syntax is not similar in weblogic file or borland file).
And you can MANUALLY update the weblogic file in your JAR archive.
1. Open the EJB JAR file in Winzip and extract the weblogic-ejb-jar.xml file, so that a copy exists in your
project directory.
2. Open this file (in Notepad), add the WebLogic specific information, and then save the file.
3. Now, when you are finished with the build cycle and are ready to deploy, you may open the EJB jar file
and swap in the weblogic-ejb-jar.xml file."
Good Luck. -
Hi All,
Again, Since yesterday (11/11/2003) , I started getting the Bean Lock error as
below (I am using weblogic 4.5.1) :
Note: We are using Stateless beans.
Tue Nov 11 14:15:11 CET 2003:<I> <EJB> Transaction: '1068220908390_17748' rolled
back due to EJB exception:
com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
occurs when trying to perform your request (RemoteException).
weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
ms
at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1866)
at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
Tue Nov 11 14:15:11 CET 2003: ERR #-3# com.sgs.ecertificate.ProcessApproveCertificateServlet
An unexpected error occurs when trying to perform your request (RemoteException).
com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
occurs when trying to perform your request (RemoteException).
weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
ms
at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:310)
at weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObject.java:128)
at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:182)
at com.sgs.ecertificate.entity.CertificateEntityBeanEOImpl.getData(CertificateEntityBeanEOImpl.java:4645)
at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1743)
at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
Thanks a lot in advance.
Regards,
Nilesh.Hi All,
Again, Since yesterday (11/11/2003) , I started getting the Bean Lock error as
below (I am using weblogic 4.5.1) :
Note: We are using Stateless beans.
Tue Nov 11 14:15:11 CET 2003:<I> <EJB> Transaction: '1068220908390_17748' rolled
back due to EJB exception:
com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
occurs when trying to perform your request (RemoteException).
weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
ms
at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1866)
at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
Tue Nov 11 14:15:11 CET 2003: ERR #-3# com.sgs.ecertificate.ProcessApproveCertificateServlet
An unexpected error occurs when trying to perform your request (RemoteException).
com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
occurs when trying to perform your request (RemoteException).
weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
ms
at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:310)
at weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObject.java:128)
at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:182)
at com.sgs.ecertificate.entity.CertificateEntityBeanEOImpl.getData(CertificateEntityBeanEOImpl.java:4645)
at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1743)
at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
Thanks a lot in advance.
Regards,
Nilesh. -
Hi,
We are currently in the process of moving from Weblogic 6.1 SP5 and
Toplink 3.6.3 to Weblogic 8.1 SP2 and Toplink 9.0.4 and during some test
I have seen a "scaring" stack trace. It seems that, for some reason, a
thing that "uses to work" failed with a very strange error. I tried to
reproduce it but without any success. Besides asking if anybody knows
what could have caused this error I would like to know what the "not
serializable" object is. Is it the EntityEJBContext?
<12-09-2004 4:40' GMT> <Error> <app> <000000> <[thread 5
weblogic.kernel.Default]:Exception:
javax.transaction.TransactionRolledbackException at getXML
javax.transaction.TransactionRolledbackException: EJB Exception: :
java.io.NotSerializableException:
weblogic.ejb20.internal.EntityEJBContextImpl
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at
weblogic.rmi.internal.CBVOutputStream.writeObject(CBVOutputStream.java:78)
at weblogic.rmi.internal.ServerRequest.copy(ServerRequest.java:218)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:158)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at
app.data.production.ProductionBean_3toa0w_EOImpl_811_WLStub.EJB2DOM(Unknown
Source)
In case it could share some light in the case I will explain a bit what
does the process intended to do:
The general idea is that, given some data (managed with Toplink's 9.0.4
CMP) we take a XML "snapshot" of them (via a custom OBJ2XML class that
has been working for ages without any problem) and "publish" it via JMS
in order to perform asyncronous actions with it. I'm sure this is a,
more than usual, scenario for a lot of folks.
As it seems looking at the stack at some point during some internal
object serialization it fails and rollbacks all the process. The object
being serialized by our side only contains four attributes: a
java.math.BigDecimal for it's primary key, a java.util.Date for
timestamp locking and two simple java.lang.String's
Although I'm pretty sure the problem should not be with the entity bean
itself but with an internal Weblogic op (is it trying to serialize the
EntityBeanContext as stated after the java.io.NotSerializableException
message?
Any help with this would be greatly appreciated as I have no clue how
this happened and I'm also unable to reproduce it (I'm also sure if I
managed to trigger it testing the application alone it will rise many
more times that could be admited if we move to production).
I would like to point also that currently until we have some more time
to fix it we are using "remote" entity bean, I mean even if we are alway
s calling them within the container they are not deployed with "local"
interfaces yet (although AFAIK Weblogic should avoid RMI calls on them
being co-located with the session beans).
Regards.
Ignacio.
P.S. here is the full stack dump
<12-09-2004 4:40' GMT> <Error> <app> <000000> <[thread 5
weblogic.kernel.Default]:Exception:
javax.transaction.TransactionRolledbackException at getXML
javax.transaction.TransactionRolledbackException: EJB Exception: :
java.io.NotSerializableException:
weblogic.ejb20.internal.EntityEJBContextImpl
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at
weblogic.rmi.internal.CBVOutputStream.writeObject(CBVOutputStream.java:78)
at weblogic.rmi.internal.ServerRequest.copy(ServerRequest.java:218)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:158)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at
app.data.production.ProductionBean_3toa0w_EOImpl_811_WLStub.EJB2DOM(Unknown
Source)
at app.data.general.GeneralBean.EJB2DOM(GeneralBean.java:1180)
at
app.data.module.ModuleBean_1v2h9c_EOImpl.EJB2DOM(ModuleBean_1v2h9c_EOImpl.java:3954)
at app.data.general.GeneralBean.EJB2DOM(GeneralBean.java:1180)
at app.data.general.GeneralBean.getXML(GeneralBean.java:1024)
at app.data.general.GeneralBean.getXML(GeneralBean.java:1002)
at
app.data.module.ModuleBean_nw294k_EOImpl.getXML(ModuleBean_nw294k_EOImpl.java:3138)
at app.biz.common.Publisher.performPublication(Publisher.java:1644)
at app.biz.common.Publisher.launchPublisher(Publisher.java:1580)
at app.biz.module.ModuleDAO.update(ModuleDAO.java)
at
app.biz.module.ModuleDAO_jcgreo_EOImpl.update(ModuleDAO_jcgreo_EOImpl.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at app.core.util.Proxy.execute(Proxy.java:583)
at app.core.servlet.BaseServlet.execute(BaseServlet.java:440)
at
app.user.servlet.common.BaseServlet.accessSessionBean(BaseServlet.java:279)
at
app.user.servlet.common.BaseServlet.buildResponse(BaseServlet.java:132)
at app.core.servlet.BaseServlet.doGet(BaseServlet.java:116)
at app.core.servlet.BaseServlet.doPost(BaseServlet.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>Ignacio,
6.1 used pass-by-reference by default, so parameters to beans were
passed by reference.
It's very likely that you are getting this error because in 8.1 this default
was turned off. This causes serialization of parameters by default and
that's why your code that worked started failing - you just did not know
that you were passing non-serializable objects around.
To fix this you could either turn on the pass-by-reference explicitly and/or
find out where your code is passing non-serializable objects. This is a useful
exercise anyways.
Hope this helps.
Regards,
Slava Imeshev
"Ignacio G. Dupont" <[email protected]> wrote in message news:41b8c93f@mail...
Hi,
We are currently in the process of moving from Weblogic 6.1 SP5 and
Toplink 3.6.3 to Weblogic 8.1 SP2 and Toplink 9.0.4 and during some test
I have seen a "scaring" stack trace. It seems that, for some reason, a
thing that "uses to work" failed with a very strange error. I tried to
reproduce it but without any success. Besides asking if anybody knows
what could have caused this error I would like to know what the "not
serializable" object is. Is it the EntityEJBContext?
<12-09-2004 4:40' GMT> <Error> <app> <000000> <[thread 5
weblogic.kernel.Default]:Exception:
javax.transaction.TransactionRolledbackException at getXML
javax.transaction.TransactionRolledbackException: EJB Exception: :
java.io.NotSerializableException:
weblogic.ejb20.internal.EntityEJBContextImpl
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at
weblogic.rmi.internal.CBVOutputStream.writeObject(CBVOutputStream.java:78)
at weblogic.rmi.internal.ServerRequest.copy(ServerRequest.java:218)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:158)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at
app.data.production.ProductionBean_3toa0w_EOImpl_811_WLStub.EJB2DOM(Unknown
Source)
In case it could share some light in the case I will explain a bit what
does the process intended to do:
The general idea is that, given some data (managed with Toplink's 9.0.4
CMP) we take a XML "snapshot" of them (via a custom OBJ2XML class that
has been working for ages without any problem) and "publish" it via JMS
in order to perform asyncronous actions with it. I'm sure this is a,
more than usual, scenario for a lot of folks.
As it seems looking at the stack at some point during some internal
object serialization it fails and rollbacks all the process. The object
being serialized by our side only contains four attributes: a
java.math.BigDecimal for it's primary key, a java.util.Date for
timestamp locking and two simple java.lang.String's
Although I'm pretty sure the problem should not be with the entity bean
itself but with an internal Weblogic op (is it trying to serialize the
EntityBeanContext as stated after the java.io.NotSerializableException
message?
Any help with this would be greatly appreciated as I have no clue how
this happened and I'm also unable to reproduce it (I'm also sure if I
managed to trigger it testing the application alone it will rise many
more times that could be admited if we move to production).
I would like to point also that currently until we have some more time
to fix it we are using "remote" entity bean, I mean even if we are alway
s calling them within the container they are not deployed with "local"
interfaces yet (although AFAIK Weblogic should avoid RMI calls on them
being co-located with the session beans).
Regards.
Ignacio.
P.S. here is the full stack dump
<12-09-2004 4:40' GMT> <Error> <app> <000000> <[thread 5
weblogic.kernel.Default]:Exception:
javax.transaction.TransactionRolledbackException at getXML
javax.transaction.TransactionRolledbackException: EJB Exception: :
java.io.NotSerializableException:
weblogic.ejb20.internal.EntityEJBContextImpl
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at
weblogic.rmi.internal.CBVOutputStream.writeObject(CBVOutputStream.java:78)
at weblogic.rmi.internal.ServerRequest.copy(ServerRequest.java:218)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:158)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at
app.data.production.ProductionBean_3toa0w_EOImpl_811_WLStub.EJB2DOM(Unknown
Source)
at app.data.general.GeneralBean.EJB2DOM(GeneralBean.java:1180)
at
app.data.module.ModuleBean_1v2h9c_EOImpl.EJB2DOM(ModuleBean_1v2h9c_EOImpl.java:3954)
at app.data.general.GeneralBean.EJB2DOM(GeneralBean.java:1180)
at app.data.general.GeneralBean.getXML(GeneralBean.java:1024)
at app.data.general.GeneralBean.getXML(GeneralBean.java:1002)
at
app.data.module.ModuleBean_nw294k_EOImpl.getXML(ModuleBean_nw294k_EOImpl.java:3138)
at app.biz.common.Publisher.performPublication(Publisher.java:1644)
at app.biz.common.Publisher.launchPublisher(Publisher.java:1580)
at app.biz.module.ModuleDAO.update(ModuleDAO.java)
at
app.biz.module.ModuleDAO_jcgreo_EOImpl.update(ModuleDAO_jcgreo_EOImpl.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at app.core.util.Proxy.execute(Proxy.java:583)
at app.core.servlet.BaseServlet.execute(BaseServlet.java:440)
at
app.user.servlet.common.BaseServlet.accessSessionBean(BaseServlet.java:279)
at
app.user.servlet.common.BaseServlet.buildResponse(BaseServlet.java:132)
at app.core.servlet.BaseServlet.doGet(BaseServlet.java:116)
at app.core.servlet.BaseServlet.doPost(BaseServlet.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
> -
Help: weblogic.ejb.extensions.LockTimedOutException
Dear All:
I got this exception in our EJB app:
weblogic.ejb.extensions.LockTimedOutException. Please see attached error
message below. It is not happening every time you call the bean. It is
reproducable with patience.
Have you had this kind of problem and more importantly, how to avoid it?
Our env is: Wl51 with sp 10, jdk1.3.02, Sun Solaris Unix, a cluster contains
2 wl instance
Thanks.
Wed Jun 19 14:26:53 EDT 2002:<I> <TX> Transaction (TxC (5488304, xid =
1024502557372_6636, timeout = 300, txState = Marked Rollback, root = null)
rolled back after 300 sec.
[GC 99080K->85533K(130688K), 0.0227977 secs]
Wed Jun 19 14:26:54 EDT 2002:<I> <EJB JAR deployment
/webapp/dtshc/dts/nmc/ejb/nmcejb.jar> Transaction: '1024502557372_6636'
rolled back due to EJB exception:
weblogic.ejb.extensions.LockTimedOutException: Lock for
primaryKey:com.mm.nmc.entity.ProducerOneYearPlanPK@1700fc timed out after
300000 ms.
at
weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObjec
t.java:162)
at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
at
com.mm.nmc.entity.ProducerOneYearPlanEJBEOImpl.getData(ProducerOneYearPlanEJ
BEOImpl.java:979)
at
com.mm.nmc.session.PersonalTacticalSessionEJB.getTacticalPlanGoals(PersonalT
acticalSessionEJB.java:200)
at
com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
alTacticalSessionEJB.java:165)
at
com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
alTacticalSessionEJB.java:155)
at
com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl.getPersonalTacticalPlan(
PersonalTacticalSessionEJBEOImpl.java:340)
at
com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl_WLSkel.invoke(PersonalTa
cticalSessionEJBEOImpl_WLSkel.java:167)
at
weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
pter.java:347)
at
weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
r.java:86)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
5)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
Jiancai He
http://www.hefamily.com
Thanks for your message:
In our case, it is entity EJB. The problem only happens in clustered env,
and only happens in one of the servers.
Question: can wl51 use database to manage the concurrent access of entity
EJBs?
Thanks.
Jiancai
Jiancai He
http://www.hefamily.com
"ludovic le goff" <[email protected]> wrote in message
news:[email protected]...
> Hello,
>
> Basically, it means two (or more) different threads are trying to get an
> exclusive lock on the same entity bean or stateful session bean at the
same
> time. One of the locks eventually times out and this exception is thrown.
>
> There are several things that could cause this, for instance:
>
> - Two threads trying to invoke a method on the same stateful session bean
at
> the same time. The EJB 1.1 spec states that the server must detect this
> condition and throw a RemoteException to all subsequent callers.
> LockTimedOutException is a sub-class of java.rmi.RemoteException.
>
> - Two threads are trying to access the same entity bean instance inside a
> single server in the cluster, and the caller holding the lock does not
> finish fast enough.
>
> You might want to check if you have declared the Remote and home interface
> in your jsp/servlet as global variable. And since it's global, instance
> getting overridden every time. That's why both the two request end up in
> using the same EJBObject.
>
> You should changed your code and make the remote/home interface variable
> declaration as local i.e. within the scope of a single request.
> Then you should not see any problem. Both the threads will use different
> EJBObjects and hence you should not see any exceptions.
>
> You need to code in such a way as to avoid deadlocks. For instance, if
> more than one client accesses the EJBs in different order, a deadlock may
> occur. This deadlock is detected and after a certain timeout (5 minutes by
> default), the deadlock is removed and one of the clients gets a
> LockTimedOutException. For example, if one request in your application has
> entity Account 1 (by doing an ejbFindByPrimaryKey) and is then about to
get
> Customer 1, and if at the same time another request in another business
> method has got Customer 1 and is waiting for Account 1, you'll get a
> deadlock and a LockTimedOutException after 5 minutes. You could avoid
this
> by include the code in a synchronized block. You could also get a
deadlock
> if you're making a reentrant call, e.g., A calls B which calls back to A.
>
> If you haven't already seen this, here's a blurb from "Locking Model for
> Entity EJBs" at
>
http://www.weblogic.com/docs51/classdocs/API_ejb/EJB_environment.html#108796
> 7 that you might find interesting:
>
> The EJB 1.1 container in WebLogic Server Version 5.1 uses a pessimistic
> locking mechanism for entity EJB instances. As clients enlist an EJB or
EJB
> method in a transaction, WebLogic Server places an exclusive lock on the
EJB
> instance or method for the duration of the transaction. Other clients
> requesting the same EJB or method block until the current transaction
> completes.
>
> This method of locking provides reliable access to EJB data, and avoids
> unnecessary calls to ejbLoad() to refresh the EJB instance's persistent
> fields. However, in certain circumstances pessimistic locking may not
> provide the best model for concurrent access to the EJB's data. Once a
> client has locked an EJB instance, other clients are blocked from the
EJB's
> data even if they intend only to read the persistent fields.
>
> In a Nutshell the first exception is a consequence of the second.
>
> Hope this helps,
> Ludovic.
> Developer Relations Engineer
> BEA Customer Support
> "newsgroups.bea.com" <[email protected]> a écrit dans le message news:
> [email protected]...
> > Dear All:
> >
> > I got this exception in our EJB app:
> > weblogic.ejb.extensions.LockTimedOutException. Please see attached error
> > message below. It is not happening every time you call the bean. It is
> > reproducable with patience.
> >
> > Have you had this kind of problem and more importantly, how to avoid it?
> >
> > Our env is: Wl51 with sp 10, jdk1.3.02, Sun Solaris Unix, a cluster
> contains
> > 2 wl instance
> >
> > Thanks.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Wed Jun 19 14:26:53 EDT 2002:<I> <TX> Transaction (TxC (5488304, xid =
> > 1024502557372_6636, timeout = 300, txState = Marked Rollback, root =
null)
> > rolled back after 300 sec.
> >
> > [GC 99080K->85533K(130688K), 0.0227977 secs]
> >
> > Wed Jun 19 14:26:54 EDT 2002:<I> <EJB JAR deployment
> > /webapp/dtshc/dts/nmc/ejb/nmcejb.jar> Transaction: '1024502557372_6636'
> > rolled back due to EJB exception:
> >
> > weblogic.ejb.extensions.LockTimedOutException: Lock for
> > primaryKey:com.mm.nmc.entity.ProducerOneYearPlanPK@1700fc timed out
after
> > 300000 ms.
> >
> > at
> >
weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
> >
> > at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
> >
> > at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
> >
> > at
weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
> >
> > at
> >
>
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObjec
> > t.java:162)
> >
> > at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
> >
> > at
> >
>
com.mm.nmc.entity.ProducerOneYearPlanEJBEOImpl.getData(ProducerOneYearPlanEJ
> > BEOImpl.java:979)
> >
> > at
> >
>
com.mm.nmc.session.PersonalTacticalSessionEJB.getTacticalPlanGoals(PersonalT
> > acticalSessionEJB.java:200)
> >
> > at
> >
>
com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
> > alTacticalSessionEJB.java:165)
> >
> > at
> >
>
com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
> > alTacticalSessionEJB.java:155)
> >
> > at
> >
>
com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl.getPersonalTacticalPlan(
> > PersonalTacticalSessionEJBEOImpl.java:340)
> >
> > at
> >
>
com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl_WLSkel.invoke(PersonalTa
> > cticalSessionEJBEOImpl_WLSkel.java:167)
> >
> > at
> >
>
weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
> > pter.java:347)
> >
> > at
> >
>
weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
> > r.java:86)
> >
> > at
> >
>
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
> > 5)
> >
> > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
> >
> >
> >
> >
> >
> >
> > --
> > Jiancai He
> > http://www.hefamily.com
> >
> >
>
>
-
Undocumented weblogic.ejb20.internal.MethodPermissionException?
Environment: Weblogic 6.0 sp2 w/ ejb20.jar.
We are experimenting with security and noticed that if a client to an ejb
(session bean in our case) attempts to make a method call that they do not
have permission for (due to the descriptor .xml file roles), the exception
that is thrown on the client is this very proprietary sounding and
undocumented exception:
weblogic.ejb20.internal.MethodPermissionException
Using reflection we can see that this exception class has this lineage:
weblogic.ejb20.internal.MethodPermissionException
java.rmi.RemoteException
java.io.IOException
java.lang.Exception
java.lang.Throwable
java.lang.Object
Can you provide any more info on this? Ideally I'd like to be able to
distinguish between the very generic RemoteException, but not code such
undocumented exception names into my files (i.e. it sounds like the name of
this "internal" exception could easily change with a service pack or
something and then we'd be hosed).
Thanks,
- John FreeborgLourdes,
We are encountering the exact same issue and thread dump. Did you ever determine a resolution?
An example thread dump from our server.
"ExecuteThread: '38' for queue: 'rplarge1'" daemon prio=10 tid=009e7460 nid=111 lwp_id=1102694 in Object.wait() [0x0e611000..0x0e6104f0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:429)
at weblogic.jms.store.StoreRequest.waitForIOComplete(StoreRequest.java:465)
- locked <5593dbe0> (a weblogic.jms.store.StoreRequest)
at weblogic.jms.backend.BEXATranEntrySend.finishPrepare(BEXATranEntrySend.java:61)
at weblogic.jms.backend.BEXAResource.prepare(BEXAResource.java:943)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1195)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:411)
at weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:253)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:378)
at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:244)
at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2301)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2015)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:275)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:244)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:299)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:140)
We are running wls8.1sp3 on HPUX.
Thanks -
Threads Stuck weblogic.ejb20.internal.MDListener@d36ef2
Hello, we have an application over WebLogic Server 8.1 SP4 and we see this message in logs:
<Dec 7, 2005 11:15:09 AM CET> <Error> <WebLogicServer> <BEA-000337> <ExecuteThread: '27' for queue: 'weblogic.kernel.Default'
has been busy for "797" seconds working on the request "weblogic.ejb20.internal.MDListener@d36ef2", which is more than the c
onfigured time (StuckThreadMaxTime) of "600" seconds.>
When i have a thread dump the most of threads are :
"ExecuteThread: '36' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x0074b380 nid=0x3f in Object.wait() [c267f000..
c267fc28]
at java.lang.Object.wait(Native Method)
- waiting on <0xccb4d908> (a weblogic.jms.store.StoreRequest)
at java.lang.Object.wait(Object.java:429)
at weblogic.jms.store.StoreRequest.waitForIOComplete(StoreRequest.java:465)
- locked <0xccb4d908> (a weblogic.jms.store.StoreRequest)
at weblogic.jms.backend.BEXATranEntrySubscribe.finishPrepare(BEXATranEntrySubscribe.java:95)
at weblogic.jms.backend.BEXAResource.commit(BEXAResource.java:1087)
at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1291)
at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:519)
at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:421)
at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:1883)
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2515)
at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2446)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:280)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:246)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:400)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Any idea?
ThanksLourdes,
We are encountering the exact same issue and thread dump. Did you ever determine a resolution?
An example thread dump from our server.
"ExecuteThread: '38' for queue: 'rplarge1'" daemon prio=10 tid=009e7460 nid=111 lwp_id=1102694 in Object.wait() [0x0e611000..0x0e6104f0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:429)
at weblogic.jms.store.StoreRequest.waitForIOComplete(StoreRequest.java:465)
- locked <5593dbe0> (a weblogic.jms.store.StoreRequest)
at weblogic.jms.backend.BEXATranEntrySend.finishPrepare(BEXATranEntrySend.java:61)
at weblogic.jms.backend.BEXAResource.prepare(BEXAResource.java:943)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1195)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:411)
at weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:253)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.Kernel.executeIfIdle(Kernel.java:378)
at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:244)
at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2301)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2015)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:275)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:244)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:299)
at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:140)
We are running wls8.1sp3 on HPUX.
Thanks -
Urgent please!weblogic.ejb.extensions.LockTimedOutException
Hi,
We are using weblogic 5.1 with service pack 9.We get the following errors.Any
idea what can be done to prevent these error messages and by which factor this
time out of '300000 ms' is determined.How to change it/optimize it?
weblogic.ejb.extensions.LockTimedOutException: Lock for
primaryKey:users timed out after 300000 ms.
at
weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImp
l.java:53)
at
weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(Stat
efulEJBObject.java:162)
at
com.beasys.commerce.axiom.contact.GroupImplEOImpl.getUniqueId(Gr
oupImplEOImpl.java:1322)
Yourt Tx timeout is lock timeout.
The default is 5 mnts. YOu will see the following error/info
when one thread might be holding a lock on primaryKey "users" and this
second thread has to wait until the first thread releases the lock. You
have to investigate why the first thread is holding lock for more than 5
mnts. Otherwise you will have to increase the tx timeout
Kumar
Bharat Varma wrote:
> Hi,
>
> We are using weblogic 5.1 with service pack 9.We get the following errors.Any
> idea what can be done to prevent these error messages and by which factor this
> time out of '300000 ms' is determined.How to change it/optimize it?
>
> weblogic.ejb.extensions.LockTimedOutException: Lock for
> primaryKey:users timed out after 300000 ms.
> at
> weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImp
> l.java:53)
> at
> weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(Stat
> efulEJBObject.java:162)
> at
> com.beasys.commerce.axiom.contact.GroupImplEOImpl.getUniqueId(Gr
> oupImplEOImpl.java:1322)
>
>
-
When a statusful session bean be called frequencely in weblogic 5.1, weblogic throws
"weblogic.ejb.extensions.LockTimedOutException", why?
please help me!!thanks!!Hmmm, this exception occurs when two or more threads are trying to get an
exclusive lock on a session(not permitted) or entity bean(times out) at the
same time. Is it possible that two threads are accessing your session bean
at the same time?
"xiaoniao" <[email protected]> wrote in message
news:3d96cde6$[email protected]..
>
When a statusful session bean be called frequencely in weblogic 5.1,weblogic throws
"weblogic.ejb.extensions.LockTimedOutException", why?
please help me!!thanks!! -
We have Weblogic 8.1 SP2. The application has several entity beans. I just upgraded it from SP2 to SP3 and when I try to use these ejb's I am getting the following exception:
Root cause of ServletException.
java.lang.NoSuchMethodError: weblogic.ejb20.internal.EntityEJBObject_Activatable.preInvoke(Lweblogic/ejb20/
internal/MethodDescriptor;Lweblogic/security/service/ContextHandler;)Lweblogic/ejb20/interfaces/InvocationWrapper;
Note that these ejb's worked fine in SP2.
Now, just to test, I redeployed some of these ejb's and then these redeployed ejb's worked fine.
My question is, is it required to redeploy all ejb's to upgrade from SP2 to SP3?
Thanks.redeploying the beans had the upgraded server recompile them which (probably), updated any internal references to methods. I don't quite understand one can run the beans that were compiled on SP2, on an upgraded SP3 server without having deployed (and therefore recompiled) them on the upgraded SP3 server.
-
Hi,
I just installed WLS6.0 it is running smoothly thanx to Jignesh help , also I
put in the ejb20.ajr and after that I installed the Campaign Management 1.1 but
I´m geting this error when I start theh server well this is the first of thousand
errors:
/opt/posadas/bea/wlcs3.5/tmp_ejboneworld.cemtec.com7501/events/com/bea/commerce/
platform/events/internal/EventServiceBeanEOImpl.java:12: Superclass java.lang.Ob
ject of class com.bea.commerce.platform.events.internal.EventServiceBeanEOImpl
n
ot found.
extends weblogic.ejb20.internal.StatelessEJBObject
Any one can help me?Thanx in AdvancedGerado,
I guessing you mispelled ejb20.jar - - you need to include this at the front of
your java.class.path in your WLS 6.0 startup script
Chuck -
I am using a weblogic 8.1 sp4 and is getting the following error
=====
java.sql.SQLException: Transaction BEA1-00A0C7390CDF3A289F82 not active anymore. tx status = Marked rollback. [Reason=weblogic.ejb20.InternalException: Error writing from flushModified]
at weblogic.jdbc.jts.Driver.getTransaction(Driver.java:430)
at weblogic.jdbc.jts.Driver.connect(Driver.java:127)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
=====
Is this a bug in Weblogic ?
This happens when the the the container managed entity bean has the following element.
<cache-strategy>read-write</cache-strategy>
This does not happend if the following value is set
<cache-strategy>read-only</cache-strategy>
Any clues on a resolution to this problem ?
Thanks in advance.I have similar problem with my application. I'm using Weblogic 8.1 sp4 and MS SQL 2000 sp 3 and Hibernate 2.8 to connect to DB. Table causing exception is replicated bidirectional with transactional replication. I get trace of SQL transactions made during user logging process and noticed update querry which is rolled back. There are only select querries before. I wonder if synchronizing triggers used by replication could be the problem. Can it somehow reset the session?
Stack Trace lools like this below:
30328 [Thread-5] ERROR pl.computerland.snu.repo.remote.external.RemoteRepoFactoryWrapper - operation():
pl.computerland.snu.repo.remote.RemoteRepoException: java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]
Detail:
<detail>
EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException] </detail>; nested exception is:
javax.xml.rpc.soap.SOAPFaultException: EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]
at pl.computerland.snu.repo.remote.external.RemoteRepoFactory.login(RemoteRepoFactory.java:116)
at pl.computerland.snu.repo.remote.external.RemoteRepoFactoryWrapper$ExternConnection.operation(RemoteRepoFactoryWrapper.java:301)
at pl.computerland.snu.rfi.services.TaskService$1.run(TaskService.java:51)
at java.lang.Thread.run(Unknown Source)
Caused by: java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]
Detail:
<detail>
EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException] </detail>; nested exception is:
javax.xml.rpc.soap.SOAPFaultException: EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]
at pl.computerland.snu.rfi.client.transfer.RepositoryExtSoap_Stub.login(RepositoryExtSoap_Stub.java:241)
at pl.computerland.snu.rfi.client.transfer.RepositoryExtSoap_Stub.login(RepositoryExtSoap_Stub.java:258)
at pl.computerland.snu.repo.remote.external.RemoteRepoFactory.login(RemoteRepoFactory.java:114)
... 3 more
Caused by: javax.xml.rpc.soap.SOAPFaultException: EJB Exception: ; nested exception is:
javax.ejb.TransactionRolledbackLocalException: Exception during remove.; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.Exception: SQLException on insert: java.sql.SQLException: Transaction BEA1-00042F6B457BAFFD2C3E not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]
at weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:313)
at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:303)
at pl.computerland.snu.rfi.client.transfer.RepositoryExtSoap_Stub.login(RepositoryExtSoap_Stub.java:236)
... 5 more -
Weblogic.ejb20.WLDeploymentException
Hi,
I have created a connection pool with the name "MyDataConnectionPool" and selected "myserver" as target in the target tab. Then I have created the Data source with the name "MyDataSource" and selected "myserver" as target.
I mentioned datasource name is "MyDataSource" in the file "weblogic-cmp-rdbms-jar.xml".
I am getting the exception in the server console is
weblogic.ejb20.WLDeploymentException: The DataSource with the JNDI name: MyDataSource could not be located. Please ensure that the DataSource has been de
ployed successfully and that the JNDI name in your EJB Deployment descriptor is
correct.
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.setup(RDBMSPersisten
ceManager.java:138)
at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.ja
va:211)
at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java
:181)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:162)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrive
nBeanInfoImpl.java:945)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1296)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:349)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplication
Container.java:1592)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1029)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:966)
at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForA
llApplications(SlaveDeployer.java:619)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.j
ava:376)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resum
e(DeploymentManagerServerLifeCycleImpl.java:235)
at weblogic.t3.srvr.ServerLifeCycleList.resume(ServerLifeCycleList.java:
61)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:806)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:295)
at weblogic.Server.main(Server.java:32)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1359)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:349)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplication
Container.java:1592)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1029)
Please help me..
Thanks in advance
regards
Sreehari Bodagala<data-source-name></data-source-name> tag in
weblogic-cmp-rdbms-jar.xml
specifies the jndi name of the DataSource,
not the DataSource name.
thanks,
Deepak -
Question about weblogic.ejb20.utils.DDConverter
Hello.
I have convert DD using weblogic.ejb20.utils.DDConverter.
But error happens.
D:\>java weblogic.ejb20.utils.DDConverter -EJBVer 2.0 -d . forex_tr.jar
new.jar
DDConverter starting at 2002-02-21 ¿ÀÈÄ 4:35:26...
Source file list:
forex_tr.jar
new.jar
Output directory: .
Converting forex_tr.jar ...
DDConverter failed due to an unexpected Exception. The stack trace is:
java.lang.ClassCastException:
weblogic.management.descriptors.cmp20.WeblogicRDB
MSBeanMBeanImpl
at
weblogic.ejb20.utils.ddconverter.DDConverterBase.convertBeansTo20(DDC
onverterBase.java:284)
at
weblogic.ejb20.utils.ddconverter.DDConverterBase.convertTo20(DDConver
terBase.java:235)
at
weblogic.ejb20.utils.ddconverter.DDConverter_1120.convert(DDConverter
_1120.java:88)
at weblogic.ejb20.utils.DDConverter.main(DDConverter.java:155)
DDConverter was unable to convert all the input beans due to conversion
errors.
See "ddconverter.log" for details.
Bye.
Hyun Min.It's my mistake.
I not used -c option.
java weblogic.ejb20.utils.DDConverter -EJBVer 2.0 -d . -c new.jar
forex_tr.jar
"Hyun Min" <[email protected]> wrote in message
news:[email protected]..
Hello.
I have convert DD using weblogic.ejb20.utils.DDConverter.
But error happens.
D:\>java weblogic.ejb20.utils.DDConverter -EJBVer 2.0 -d . forex_tr.jar
new.jar
DDConverter starting at 2002-02-21 ¿ÀÈÄ 4:35:26...
Source file list:
forex_tr.jar
new.jar
Output directory: .
Converting forex_tr.jar ...
DDConverter failed due to an unexpected Exception. The stack trace is:
java.lang.ClassCastException:
weblogic.management.descriptors.cmp20.WeblogicRDB
MSBeanMBeanImpl
at
weblogic.ejb20.utils.ddconverter.DDConverterBase.convertBeansTo20(DDC
onverterBase.java:284)
at
weblogic.ejb20.utils.ddconverter.DDConverterBase.convertTo20(DDConver
terBase.java:235)
at
weblogic.ejb20.utils.ddconverter.DDConverter_1120.convert(DDConverter
_1120.java:88)
at weblogic.ejb20.utils.DDConverter.main(DDConverter.java:155)
DDConverter was unable to convert all the input beans due to conversion
errors.
See "ddconverter.log" for details.
Bye.
Hyun Min. -
Weblogic.ejb.extensions.LockTimedOutException
Hi,
I am running an application on wl4.5.1 and the app server seems to hang and average of about once a week and we have to restart it it seems really random. The only pattern we've noticed from looking at the log files is that just before we go down we get a lot of weblogic.ejb.extensions.LockTimedOutException ' s. There seems to be a deadlock for access to one of the entity beans and the requesting transactions timeout. Is it possible that the appserver hangs because of these exceptions getting thrown and all the appservers resouces get used up so it doesn't take any more requests? Does any one have any ideas/experience with this issue?
Thanks for any help in advance,
R..Hi Rukus,
AFAIK 4.5.1 was EOL-ed quite some time ago, so it may be
pretty hard to get support for this version.
You may find a solution by searching newsgroups
archive. I've done some preliminary work for you,
hopefully it will help:
http://makeashorterlink.com/?M29D32364
Regards,
Slava Imeshev
"Rukus" <[email protected]> wrote in message
news:3eaf0172$[email protected]..
Hi,
I am running an application on wl4.5.1 and the app server seems to hangand average of about once a week and we have to restart it it seems really
random. The only pattern we've noticed from looking at the log files is
that just before we go down we get a lot of
weblogic.ejb.extensions.LockTimedOutException ' s. There seems to be a
deadlock for access to one of the entity beans and the requesting
transactions timeout. Is it possible that the appserver hangs because of
these exceptions getting thrown and all the appservers resouces get used up
so it doesn't take any more requests? Does any one have any
ideas/experience with this issue?
>
Thanks for any help in advance,
R..
Maybe you are looking for
-
iTunes Store TERMS OF SERVICE A. TERMOS DE VENDA DA ITUNES STORE, MAC APP STORE, APP STORE E IBOOKSTORE B. TERMOS E CONDIÇÕES DA ITUNES STORE C. TERMOS E CONDIÇÕES DA MAC APP STORE, APP STORE E IBOOKSTORE OS ACORDOS LEGAIS ESTABELECIDOS ABAIXO REGEM
-
Writing customer code in SALES ORDER MODULE using UI API.
Hi Experts, I have a problem in writing a data in Sales Order fields... here's the scenario after i select the business partner code in my UI i want it to write the customer code in customer textbox of the Sales Order module. but after i write the er
-
Output of RFC FM in background job
Hello, I have a report which call an RFC FM. The FM calls a class which write some output using write statement. How can this output be captured in the spool request of job for my report? Is it possible? Regards, Ahmed
-
Invalid Serial Number after reboot?
I just rebooted a server and when it came back ARD was off, along with a bunch of other services that were supposed to start at boot. Under the serial number in Server Admin it had the text (in red): "invalid serial number serial number already regis
-
Updated yesterday, now my pdf docs are trying to convert to Word
Our CEO clicked on an Adobe update pop up yesterday. Now when he tries to open pdf documents they look like it is trying to go to a Word document but can not read it. Is there a fix or do I need to uninstall?