Glassfish和ActiveMQ反应

Glassfish和ActiveMQ反应,glassfish,jms,activemq,distributed-transactions,Glassfish,Jms,Activemq,Distributed Transactions,我正在使用 Sun GlassFish企业服务器v2.1.1 v2.1补丁069.1_02补丁12 activemq-rar-5.4.2-fuse-02-00.rar activemq rar的XATransaction 我遇到了下面的异常,我怀疑这是因为activemqra在启动XATransaction后无法获得activemq连接。 在这种情况下,我本以为activemqra会回滚事务 当前启动的事务挂起在Glassfish中,直到超时。当db事务是XtransAction的一部分时,这尤

我正在使用

Sun GlassFish企业服务器v2.1.1 v2.1补丁069.1_02补丁12 activemq-rar-5.4.2-fuse-02-00.rar activemq rar的XATransaction 我遇到了下面的异常,我怀疑这是因为activemqra在启动XATransaction后无法获得activemq连接。 在这种情况下,我本以为activemqra会回滚事务

当前启动的事务挂起在Glassfish中,直到超时。当db事务是XtransAction的一部分时,这尤其糟糕 因为此时数据库连接不可用

我不知道该怎么办,所以我不知道该怎么办

欢迎提供任何帮助或意见

致以最良好的问候

[#|2011-07-14T15:24:50.946+0200|INFO|sunappserver2.1| javax.enterprise.system.container.ejb.mdb |_ThreadID=26;_ThreadName=p: mdb-threadpool; w: 6;|javax.ejb.EJBException javax.ejb.EJBException: Unable to complete container-managed transaction.; 
nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: 
Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit one phase] operation.  vmcid: 0x0  minor code: 0  completed: No
javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: 
Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit one phase] operation.  vmcid: 0x0  minor code: 0  completed: No
    at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1029)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:398)
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3826)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
    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 $Proxy65.afterDelivery(Unknown Source)
    at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:128)
    at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:69)
    at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:224)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:897)
    at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    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)
javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit one phase] operation.  vmcid: 0x0  minor code: 0  completed: No
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3837)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
    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 $Proxy65.afterDelivery(Unknown Source)
    at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:128)
    at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:69)
    at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:224)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:897)
    at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    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)
|#]

这似乎是玻璃鱼上的一只虫子。它尝试关闭已关闭的线程。有一个修补程序可以更正此问题。
看看。

只需删除glassfish/domains/domain1/imq/instances/imqbroker/fs370的内容即可


发生这种情况是因为一些奇怪的损坏文件保存了队列数据。。。清理此文件夹后,错误将消失

谢谢您的回答。在阅读了oracle论坛之后,我非常怀疑如何获得该补丁,以及该补丁是否已经是我正在使用的Glassfish版本v2.1.1 v2.1 Patch069.1_02 Patch12的一部分。你能给我一些关于这方面的提示,或者在哪里寻找进一步的信息吗。提前谢谢。致以最良好的问候