Является ли MessageConsumer
/ MessageProducer
эквивалентом XA QueueSender
/ QueueReceiver
?
Нет.QueueSender
расширяет MessageProducer
и предоставляет некоторые дополнительные методы, специфичные для очереди.Это не имеет ничего общего с XA.Такая же связь существует между QueueReceiver
и MessageConsumer
.
Насколько я понимаю, MessageConsumer
/ MessageProducer
лучше использовать в контексте XA.
Опять же, это не имеет ничего общего с XA.Обычно лучше писать в интерфейсы MessageConsumer
/ MessageProducer
в любом коде JMS, , если только вам не требуются дополнительные методы, предоставляемые QueueSender
/ QueueReceiver
.
В моем приложении я хочу переключиться с QueueConnectionFactory
, QueueConnection
, QueueSession
на их эквивалент XA, и для этого мне потребуется использовать MessageConsumers / Receivers вместо QueueSenders и QueueReceivers.
Нет.Используете ли вы XA или нет, не имеет никакого отношения к вашему выбору интерфейса API.Поведение XA определяется тем, какой QueueConnectionFactory
вы получите от сервера приложений.Большинство из них предоставят вам XA или не-XA QueueConnectionFactory
, как правило, по другому пути JNDI, и вы должны получить соответствующий.
После получения правильного QueueConnectionFactory
ваше приложение не должно заботиться о том, используется XA или нет.