交易退出原因:'方法' xa_end'失败了,因为errorCode' 100'

时间:2018-02-08 11:46:15

标签: jboss jboss7.x ibm-mq

我使用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'.

3 个答案:

答案 0 :(得分:0)

您可以忽略WARN消息,并且可以假设MQ已经放弃了事务的工作,因为XAER_NOTA指示资源适配器不再知道该事务。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

我看到了类似的问题。以我为例,我们使用的是ARJUNA事务管理器,该事务管理器隐藏了实际问题并引发了一般性错误。请查看我的博客以获取更多详细信息 https://jjsrambles.wordpress.com/2019/09/05/the-method-xa_end-has-failed-with-errorcode-100-or-the-method-xa_prepare-has-failed-with-errorcode-4/

致谢

相关问题