java – MessageConsumer / MessageProducer vs QueueSender / QueueReceiver

MessageConsumer / MessageProducer是否与QueueSender / QueueReceiver等效?

据我所知,MessageConsumer / MessageProducer更适合在XA上下文中使用.

在我的应用程序中,我想从QueueConnectionFactory,QueueConnection,QueueSession切换到它们的XA等价物,为此我需要使用MessageConsumers / Receivers而不是QueueSenders和QueueReceivers.

解决方法

Is the MessageConsumer/MessageProducer the XA equivalent of QueueSender/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.

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量