1
如果我们想要JMS会话参与事务,我们创建一个JMS会话并将session参数设置为true。JMS - 分布式事务
但是,我在哪里提到JMS,它参与交易的会话是本地交易还是全局交易?
换句话说,我是否有控制权让JMS参与本地或全局事务,或者是Application Container谁来决定?
如果我们想要JMS会话参与事务,我们创建一个JMS会话并将session参数设置为true。JMS - 分布式事务
但是,我在哪里提到JMS,它参与交易的会话是本地交易还是全局交易?
换句话说,我是否有控制权让JMS参与本地或全局事务,或者是Application Container谁来决定?
这取决于您使用的连接工厂。
JMS规范指定了两种不同类型的连接工厂,每种类型包含三个接口。
XAConnectionFactory,XAQueueConnectionFactory和 XATopicConnectionFactory
为XA连接工厂和
连接工厂,和的QueueConnectionFactory TopicConnectionFactory的
对于非XA连接工厂。如果您使用XA * *,那么您的JMS会话将参与全局事务。当然,这部分是从代码中抽象出来的,因为通常通过特定于提供者的接口配置连接工厂,然后通过JNDI查找它们。
这是一个link,它讨论了WebLogic中JMS的全局事务。