You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提交事务时出现XAException J2CA0027E错误码106、-4问题咨询

事务提交超时回滚问题分析与解决方案

错误日志说明

你遇到的异常日志如下:

XATransaction E J2CA0027E: An exception occurred while invoking end on an XA Resource Adapter from DataSource JMS$FundtechQConFactory$JMSManagedConnection@75, within transaction ID {​​​XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
data(0000017bdaabecde0000000b6a6fc584d5dba62aea917f1902693232b82dd8a4ff309f370000017bdaabecde0000000b6a6fc584d5dba62aea917f1902693232b82dd8a4ff309f37000000010000000000000000000000000097)}​​​ : javax.transaction.xa.XAException: The method 'xa_end' has failed with errorCode '106'.
at com.ibm.mq.jmqi.JmqiXAResource.end(JmqiXAResource.java:559)
...
XATransaction E J2CA0027E: An exception occurred while invoking rollback on an XA Resource Adapter from DataSource JMS$FundtechQConFactory$JMSManagedConnection@206, within transaction ID {​​​XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
data(0000017bdaabecde0000000b6a6fc584d5dba62aea917f1902693232b82dd8a4ff309f370000017bdaabecde0000000b6a6fc584d5dba62aea917f1902693232b82dd8a4ff309f37000000010000000000000000000000000003)}​​​ : javax.transaction.xa.XAException: The method 'xa_rollback' has failed with errorCode '-4'.
at com.ibm.mq.jmqi.JmqiXAResource.rollback(JmqiXAResource.java:874)
...

根因定位

两个异常均为IBM MQ作为XA资源参与分布式事务时的超时类问题:

  • 错误码106对应XA规范的XAER_TIMEDOUT:IBM MQ队列管理器默认的最大工作单元(MAXUOW)时长仅为300秒(5分钟),远小于你在WebSphere侧设置的15分钟超时阈值,事务提交阶段先触发了MQ侧的超时规则,MQ主动终止了事务,导致WebSphere调用xa_end方法失败,触发全量事务回滚。
  • 错误码-4对应XA规范的XAER_RMERR:属于回滚流程的次生错误,事务已经被MQ侧终止释放后,WebSphere再调用xa_rollback时已经找不到对应事务上下文,因此抛出资源管理器错误。

修复方案

  • 调整IBM MQ队列管理器MAXUOW参数:将该参数值调整为大于你预设的15分钟阈值,例如设置为1200秒(20分钟),避免MQ侧先触发事务超时。
  • 对齐WebSphere侧事务配置:检查WebSphere事务服务全局超时时间、JMS连接工厂XA事务超时时间,确保所有配置的超时值都小于MQ侧的MAXUOW值,避免不同组件的超时逻辑冲突。
  • 优化事务粒度:不建议将50万条事务放在同一个分布式事务中执行,一旦失败全量回滚成本极高。可以调整为批量提交策略,每处理1000~5000条数据就提交一次,将单批次事务的执行时长控制在1分钟以内,既可以彻底规避超时风险,也能在出现异常时仅回滚失败批次,降低重试成本。
  • 检查JMS资源配置:确认你使用的JMS连接工厂的最大连接数、会话数配置充足,不会在事务提交阶段出现资源争抢等待,变相拉长事务执行时间导致超时。

内容的提问来源于stack exchange,提问作者Rajkumar Patwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:06:05