首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >玻璃鱼和ActiveMQ XATransactions

玻璃鱼和ActiveMQ XATransactions
EN

Stack Overflow用户
提问于 2011-07-14 15:19:31
回答 2查看 2.1K关注 0票数 0

我在用

Patch12))

  • activemq-rar-5.4.2-fuse-02-00.rar

  • XATransaction
  • Sun GlassFish企业服务器v2.1.1 (v2.1 Patch06)(9.1_02
  • for activemq-rar

)

我经历了下面的异常,我怀疑这是因为在启动XATransaction之后,activemqra无法获得activemq连接。我原以为activemqra会在这种情况下回退交易。

目前,已启动的事务挂在Glassfish中,直到超时为止。当db事务是XATransaction的一部分时,这尤其糟糕,因为这时db连接不可用。

我不知道该怎么做,所以我没有被绞死的交易?

欢迎任何帮助或评论。

向Trym问好

代码语言:javascript
复制
[#|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)
|#]
EN

回答 2

Stack Overflow用户

发布于 2011-09-15 13:25:20

好像是玻璃鱼上的虫子。它试图关闭已经关闭的线程。有一个补丁可以纠正这个问题。看看https://forums.oracle.com/forums/thread.jspa?threadID=1979095

票数 0
EN

Stack Overflow用户

发布于 2013-12-25 08:29:50

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

之所以会发生这种情况,是因为一些奇怪的损坏文件将队列数据持久化.清除此文件夹后,错误将消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6695646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档