IBM MQManager作为XA事务管理器与Spring-jms和Spring-tx

时间:2014-07-25 13:35:57

标签: ibm-mq spring-jms distributed-transactions

我们正在尝试将IBM MQ管理器用作具有spring-jms和spring事务支持的XA事务管理器。 IBM MQ管理器是否能够很好地支持spring-jta?

3 个答案:

答案 0 :(得分:3)

我们以相反的方式使用:使用Spring事务管理作为全局事务管理器,MQ XA作为事务分支之一。它运作良好。

答案 1 :(得分:3)

您不能使用WMQ JMS客户端(这是spring-jms将使用的)与MQ QueueManager充当XA事务管理器。目的是通过JTA实现的事务管理器(即Java EE应用服务器)来控制JMS应用程序。

但是,您可以使用WMQ Java客户端(即非JMS)并将MQ QueueManager充当XA事务管理器(非JTA)。

正如@COLINHY所说,你可以反过来使用它。 Spring事务管理器将是使用JTA的协调器,然后可以使用spring-jms将WMQ JMS客户端和MQ队列管理器作为事务资源引入。

答案 2 :(得分:1)

阐明对MQ JMS客户端的支持。

当安装在经JavaEE认证的服务器中时,MQ Resourced Adapter(由JMS客户端提供支持)将导致MQ QueueManager以资源管理器角色工作,由JavaEE Server协调。

在JavaEE环境之外,与任何其他JTA提供程序一起使用时,不支持JMS客户端。 (如果有兴趣请提出要求)

使用MQ Java类(也称为基本Java) - MQ可以是事务管理器,但只能与它协调自身MQ和数据库(例如Oracle和DB2)。不可能让MQ协调其他任何事情。