我们使用MQ基类和MQ作为XA事务协调器。
Environment MQ 7.5 Red 6.4 Java 1.7
Scenario :大多数情况下,步骤5--即启动新事务--工作良好,但是间歇性异常被抛出,UoW已经在进行中。由于第4步调用是成功的,我们认为事务应该成功地提交或回滚。在启动新事务时,它不应该引起问题。请有人建议,即使在Q管理器成功提交/回滚调用之后,导致UoW不提交或回滚的原因是什么?
谢谢Vaibhav
发布于 2015-06-19 07:06:08
您可能正在缓存JMS使用者或其他JMS对象。
基本上,在较低级别的MQ会话是由各种低级客户端调用(如PUT、GET或MQOPEN命令)驱动的。您的问题是,发出的MQBEGIN命令没有得到适当的MQCLOSE (?)命令。所有这些都发生在JMS驱动程序中,并且对Java开发人员是隐藏的。
如果我没有记错的话,MQBEGIN调用将映射到创建o jms使用者。关闭所有jms对象的但连接本身将工作。
这件事已经没落了。关闭所有JMS对象的问题是,它增加了cpu使用,因为MQOPEN和类似的调用往往是CPU昂贵的。
https://stackoverflow.com/questions/30780304
复制相似问题