MessageConsumer / MessageProducer与QueueSender / QueueReceiver

时间:2011-07-11 11:53:54

标签: java jms xa

MessageConsumer / MessageProducer XA是否等同于QueueSender / QueueReceiver

据我所知,MessageConsumer / MessageProducer更适合在XA环境中使用。

在我的应用中,我想从QueueConnectionFactoryQueueConnection,QueueSession切换到相应的XA,为此,我需要使用MessageConsumers / Receivers代替{ {1}}和QueueSenders

1 个答案:

答案 0 :(得分:12)

  

MessageConsumer / MessageProducer XA是否等同于QueueSender / QueueReceiver

没有。 QueueSender扩展MessageProducer,并提供一些其他特定于队列的方法。它与XA无关。 QueueReceiverMessageConsumer之间存在相同的关系。

  

据我所知,MessageConsumer / MessageProducer最适合在XA环境中使用。

同样,这与XA无关。通常最好在任何JMS代码中写入MessageConsumer / MessageProducer接口,除非您特别需要QueueSender / {{1}提供的额外方法}。

  

在我的应用中,我想从QueueReceiverQueueConnectionFactoryQueueConnection切换到相应的XA,为此,我需要使用MessageConsumers / Receivers而不是QueueSenders和QueueReceivers。 / p>

没有。无论您是否使用XA,都与您选择的API接口无关。 XA行为由您从应用程序服务器获取的QueueSession确定。大多数将为您提供XA或非XA QueueConnectionFactory,通常在不同的JNDI路径上,您可以获得适当的路径。

一旦你有了正确的QueueConnectionFactory,你的申请就不应该关心是否使用了XA。