eclipse-ee4j / eclipse-ee4j/genericmessagingra
Undeploy Syncronous MDB gives IllegalStateException
- Dominant language
- Java
- Stars
- 2
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
If you deploy GenericJMSRA with DeliveryType=Synchronous and then deploy a MDB
application, when you subsequently undeploy the application you get the
following application repeatedly (once for each MDB):
The following exception as obtained with Glassfish 2.1.2: (see below for the
exception seen with Glassfish 3.0.1):
Stopping synchronous receiver #0
Marking Tx for rollback because container for ejbName: SimpleMessageEJB;
containerId: 84152166038503424 is undeployed
Closing XA session with a transaction pending
javax.jms.IllegalStateException: [C4055]: Resource in conflict. Concurrent
operations on a session.
at
com.sun.messaging.jmq.jmsclient.SessionImpl.setInSyncState(SessionImpl.java:2799)
at
com.sun.messaging.jmq.jmsclient.XAResourceImpl.rollback(XAResourceImpl.java:718)
at
com.sun.genericra.inbound.SimpleXAResourceProxy.rollback(SimpleXAResourceProxy.java:209)
at com.sun.jts.jta.TransactionState.rollback(TransactionState.java:194)
at com.sun.jts.jtsxa.OTSResourceImpl.rollback(OTSResourceImpl.java:311)
at
com.sun.jts.CosTransactions.RegisteredResources.distributeRollback(RegisteredResources.java:1049)
at
com.sun.jts.CosTransactions.TopCoordinator.rollback(TopCoordinator.java:2298)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:410)
at
com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:309)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1020)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:388)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3848)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3627)
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 $Proxy25.afterDelivery(Unknown Source)
at
com.sun.genericra.inbound.sync.SyncJmsResource.releaseEndpoint(SyncJmsResource.java:168)
at com.sun.genericra.inbound.sync.SyncWorker.run(SyncWorker.java:178)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:77)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
Here is the exception from Glassfish 3.0.1:
INFO: Stopping synchronous receiver #0
WARNING: Marking Tx for rollback because container for ejbName:
SimpleMessageEJB; containerId: 84152203498553344 is undeployed
INFO: Closing XA session with a transaction pending
WARNING: MDB00037: [testgenericra-stress-queueApp:SimpleMessageEJB]:
Message-driven bean invocation exception: [javax.ejb.EJBException: Transaction
aborted]
WARNING: javax.ejb.EJBException
javax.ejb.EJBException: Transaction aborted
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5046)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4805)
at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1200)
at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1173)
at
com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:81)
at
com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:138)
at $Proxy121.afterDelivery(Unknown Source)
at
com.sun.genericra.inbound.sync.SyncJmsResource.releaseEndpoint(SyncJmsResource.java:168)
at com.sun.genericra.inbound.sync.SyncWorker.run(SyncWorker.java:178)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:92)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528)
Caused by: javax.transaction.RollbackException
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:320)
at
com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate.commitDistributedTransaction(JavaEETransactionManagerJTSDelegate.java:160)
at
com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.commit(JavaEETransactionManagerSimplified.java:843)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5040)
... 11 more
#### Environment
Operating System: All
Platform: All
#### Affected Versions
[current]
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.