据我所知,MessageConsumer / MessageProducer更适合在XA上下文中使用.
在我的应用程序中,我想从QueueConnectionFactory,QueueConnection,QueueSession切换到它们的XA等价物,为此我需要使用MessageConsumers / Receivers而不是QueueSenders和QueueReceivers.
解决方法
Is the
MessageConsumer
/MessageProducer
the XA equivalent ofQueueSender
/QueueReceiver
?
不,QueueSender扩展了MessageProducer,并提供了一些额外的特定于队列的方法.它与XA无关. QueueReceiver和MessageConsumer之间存在相同的关系.
As far as I can understand the
MessageConsumer
/MessageProducer
are better used in a XA context.
同样,这与XA无关.除非您特别需要QueueSender / QueueReceiver提供的额外方法,否则通常最好在任何JMS代码中写入MessageConsumer / MessageProducer接口.
In my app I want to switch from
QueueConnectionFactory
,QueueConnection
,QueueSession
to their XA equivalent and for that I would need to use MessageConsumers/Receivers instead of QueueSenders and QueueReceivers.
不能.您是否使用XA与您选择的API接口无关. XA行为由您从应用程序服务器获取的QueueConnectionFactory确定.大多数将为您提供XA或非XA QueueConnectionFactory,通常在不同的JNDI路径上,您可以获得适当的路径.
一旦拥有了正确的QueueConnectionFactory,您的应用程序就不应该关心是否使用了XA.