Hi,
I get this message while several clients are accessing a MDB which uses other EJBs on v2ur1:
[#|2008-05-14T11:32:13.567+0000|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;|
DXAR:start():Warning:Received diff Xid for open txnId:switching transactionId:
DXAR Xid=73616D73322E73612E6C6F63616C2C7365727665722C50333730302C0249020000F1AE14E673616D73322E73612E6C6F63616C2C7365727665722C5033373030
DXAR TXid=6833959440353080576
got Xid=null
got TXid=6833959440353099520|#]
[#|2008-05-14T11:32:13.653+0000|SEVERE|sun-appserver9.1|javax.resourceadapter.mqjmsra.outbound.connection|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;_RequestID=c433753b-e0c4-4556-961f-fbc56fa94ffb;|commitTransaction
(XA) on JMSService:jmsdirect failed for connectionId:6833959440062014464 and onePhase:false due to unkown JMSService server error.|#]
[#|2008-05-14T11:32:13.653+0000|SEVERE|sun-appserver9.1|javax.enterprise.system.core.transaction|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe;commit
;_RequestID=c433753b-e0c4-4556-961f-fbc56fa94ffb;|JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [commit].|#]
[#|2008-05-14T11:32:13.709+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;sams-ear:HandheldMDB;javax.ejb.EJBException: Unable to complete container-ma
naged transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [c
ommit]. vmcid: 0x0 minor code: 0 completed: No;|MDB00037: [sams-ear:HandheldMDB]: Ausnahmefehler beim Aufruf der meldungsgesteuerten Bean: [javax.ejb.EJBException: Unable to complete container-managed transaction.; neste
d exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 mino
r code: 0 completed: No]|#]
[#|2008-05-14T11:32:13.709+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;|javax.ejb.EJBException
javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor
code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 minor code: 0 completed: No
javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 minor code: 0 compl
eted: No
at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321)
at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1030)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:397)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
at $Proxy158.afterDelivery(Unknown Source)
at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor
code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 minor code: 0 completed: No
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3803)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
at $Proxy158.afterDelivery(Unknown Source)
at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
|#]
This seems to always come before a SQL-UPDATE. All subsequence requests to the MDB cause this exception to happen:
[#|2008-05-14T11:32:15.331+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=377;_ThreadName=p: thread-pool-1; w: 479;HandheldManagerBean;|EJB5018: Ausnahmefehler während eines EJB-Aufrufs auf [Hand
heldManagerBean]|#]
[#|2008-05-14T11:32:15.331+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=377;_ThreadName=p: thread-pool-1; w: 479;|
javax.ejb.EJBException: nested exception is: java.lang.IllegalStateException: EJB is already associated with an incomplete transaction
java.lang.IllegalStateException: EJB is already associated with an incomplete transaction
at com.sun.ejb.containers.BaseContainer.useClientTx(BaseContainer.java:3467)
at com.sun.ejb.containers.BaseContainer.preInvokeTx(BaseContainer.java:3274)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1244)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:202)
at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)
at $Proxy145.setPickList(Unknown Source)
at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:233)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
at de.scooterattack.sams.ejb.__HandheldManager_Remote_DynamicStub.setPickList(de/scooterattack/sams/ejb/__HandheldManager_Remote_DynamicStub.java)
at de.scooterattack.sams.ejb._HandheldManager_Wrapper.setPickList(de/scooterattack/sams/ejb/_HandheldManager_Wrapper.java)
at de.scooterattack.sams.ejb.mdb.HandheldMDB.savoyeBoxScanned(HandheldMDB.java:363)
at de.scooterattack.sams.ejb.mdb.HandheldMDB.handleHandheldMessage(HandheldMDB.java:204)
at de.scooterattack.sams.ejb.mdb.HandheldMDB.onMessage(HandheldMDB.java:145)
at sun.reflect.GeneratedMethodAccessor775.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111)
at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74)
at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179)
at $Proxy158.onMessage(Unknown Source)
at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
javax.ejb.EJBException: nested exception is: java.lang.IllegalStateException: EJB is already associated with an incomplete transaction
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1266)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:202)
at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)
at $Proxy145.setPickList(Unknown Source)
[...same as above...]
I googled and searched the forum for these error messages, but found nothing. I guess that I did something wrong with respect to transactions, but basically everything is container managed. I even tried a
em.lock(result, LockModeType.WRITE);
on the instance I believe is the victim, but no difference. Is there any way to get more information about which objects/classes/ejbs are involved in this switching of the transaction? Or any other clues how to debug/fix this?
[Message sent by forum member 'kurti' (kurti)]
http://forums.java.net/jive/thread.jspa?messageID=274259