Мое приложение выполняет пакетную обработку, читая сообщения из 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