IBM MQManager as XA Transaction Manager with Spring-jms and Spring-tx

浪子不回头ぞ 提交于 2019-12-02 17:05:10

问题


We are trying to use IBM MQ manager as XA Transaction manager with spring-jms and spring transaction support. Does IBM MQ manager play well with spring-jta support?


回答1:


You can't use the WMQ JMS client (which is what spring-jms would use) with the MQ QueueManager acting as the XA transaction manager. The intention is that a JMS application would be controlled via a JTA implemented transaction manager (i.e. a Java EE application server).

You can however use the WMQ Java client (i.e. non JMS) and have the MQ QueueManager act as the XA transaction manager (non JTA).

As @COLINHY said you can use it the other way around. The Spring transaction manager will be the coordinator using JTA and the spring-jms can then be used to bring in the WMQ JMS client and MQ Queue Manager as a transactional resource.




回答2:


We used in the reverse way: Using Spring transaction management as the global transaction manager, MQ XA as one of the transaction branches. It worked fine.




回答3:


To clarify the support for MQ JMS client.

When installed within a JavaEE certified server, the MQ Resourced Adapter (powered by the JMS Client) will result in the MQ QueueManager working in a Resource Manager role, co-ordinated by the JavaEE Server.

Outside of the JavaEE environment the JMS Client is not supported when working with any other JTA provider. (if this of interest please raise a requirement)

With the MQ Java Classes (aka Base Java) - MQ can be a Transaction Manager but only with it co-ordinating itself MQ and a DB (such as Oracle and DB2). It's not possible to get MQ to co-ordinate anything else.



来源:https://stackoverflow.com/questions/24957045/ibm-mqmanager-as-xa-transaction-manager-with-spring-jms-and-spring-tx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!