Должен ли потребитель ActiveMQ быть открытым при явном взломе сообщений? - PullRequest
1 голос
/ 26 сентября 2010

Мое приложение выполняет пакетную обработку, читая сообщения из ActiveMQ.Я читал с использованием асинхронного JMS API, реализуя MessageListener.Но я подтверждаю сообщения только тогда, когда пакетная обработка завершается успешно, вызывая message.acknowldge() [1].

В идеале я хочу, чтобы до тех пор, пока не будет запущена пакетная обработка, я не получаю сообщений от JMS-брокера.Но у меня есть сомнения относительно того, смогу ли я после закрытия потребителя подтверждать сообщения, которые я прочитал ранее и которые обрабатываются.

Другими словами, требует ли явное подтверждение использования message.acknowledge(), что ActiveMQпотребитель будет открыт?

[1] http://download.oracle.com/javaee/5/api/javax/jms/Message.html#acknowledge%28%29

1 Ответ

0 голосов
/ 09 октября 2010

Потребителю не нужно быть открытым, но сеанс нужен.(За кадром работает метод Session.sendAck.)

Брюс

...