事务退出,原因:"方法'xa_end'失败,错误代码'100'



我正在使用JBOSS 7托管我的MDB和IBM MQ作为我的消息传递提供商。我正在使用wmq.jmsra.rar资源适配器与IBM MQ通信。

如果MDB消耗了Message1,我们将消息内容存储到DB中。由于现场验证,它无法存储和投掷异常。我们处理了运行时间异常和MDB代码运行良好。现在,MDB不再从队列中挑选消息2,而是继续选择消息1并一次又一次地处理。.我们在日志文件中的错误低于错误。

2018-02-08 18:53:19,447 INFO  [org.jboss.as.connector.deployers.RaXmlDeployer] (default-threads - 17) wmq.jmsra.rar: MQJCA4026:Transaction backed out with reason: 'The method 'xa_end' has failed with errorCode '100'.'.
2018-02-08 18:53:19,448 WARN  [com.arjuna.ats.jta] (default-threads - 17) ARJUNA016045: attempted rollback of < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a5b844a:bacea37:5a7c20fa:897, node_name=1, branch_uid=0:ffff0a5b844a:bacea37:5a7c20fa:898, subordinatenodename=null, eis_name=unknown eis name > (com.ibm.mq.connector.xa.XARWrapper@3d6ba018) failed with exception code XAException.XAER_NOTA: javax.transaction.xa.XAException: The method 'xa_rollback' has failed with errorCode '-4'.

您可以忽略警告消息,可以假定MQ已丢弃了交易的工作,因为XAER_NOTA表明该交易不再是资源适配器。

<</p> <</p> <</p> <</p> <。/div>

请确保您正在使用IBM MQ JCA 7.5.0.6或更高版本。我相信您在IBM MQ JCA中遇到已知错误。

我知道这是一个非常延迟的响应,但是发布了我的经验,因为它可能对他人有用。

我也看到了类似的问题。就我而言,我们使用的是Arjuna Transaction Manager,该管理器隐藏了实际问题并抛出了通用错误。请参阅我的博客以获取更多详细信息https://jjsrambles.wordpress.com/2019/09/05/the-method-xa_end-has-failed-with-erorcode-100-or-the-method-method-xa_prepare-has-has-has-failed-has-failed-with-errorcode-4/

问候

相关内容

最新更新