MessageConsumer / MessageProducer против QueueSender / QueueReceiver - PullRequest
7 голосов
/ 11 июля 2011

Является ли MessageConsumer / MessageProducer эквивалентом XA QueueSender / QueueReceiver?

Насколько я понимаю, MessageConsumer / MessageProducer лучше использовать в XAконтекст.

В моем приложении я хочу переключиться с QueueConnectionFactory, QueueConnection, QueueSession на эквивалент XA, и для этого мне нужно будет использовать MessageConsumers / Receivers вместо QueueSenders и QueueReceivers.

1 Ответ

12 голосов
/ 11 июля 2011

Является ли 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 или нет.

...