ari-ban / glassfish-genericjmsra

0 stars 0 forks source link

Undeploy Syncronous MDB gives IllegalStateException #43

Closed arinban closed 6 years ago

arinban commented 14 years ago

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]

arinban commented 6 years ago
arinban commented 14 years ago

@glassfishrobot Commented Reported by nigeldeakin

arinban commented 14 years ago

@glassfishrobot Commented Was assigned to liang.x.zhao

arinban commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA GENERICJMSRA-43

arinban commented 6 years ago

Closing this as this issue is migrated to https://github.com/ari-ban/test1/issues/43