2012-04-11 3 views
3

Я хочу установить период ожидания для подтверждения, то есть если подтверждение не будет получено брокером для конкретного сообщения от потребителя в течение периода времени, брокер должен повторно отправить сообщение потребителю. Можно ли установить такие настройки в брокере ???Установить тайм-аут для сообщения в брокере ActiveMQ?

ответ

1

см http://activemq.2283324.n4.nabble.com/Acknowledgement-Timeout-td4531016.html

Там нет никакой поддержки для этого с политикой Redelivery. jms is соединение ориентировано, поэтому предположение заключается в том, что если соединение живое и нет никаких данных, у потребителя есть веская причина, чтобы не делать .

0

Вот несколько ссылок, которые объясняют, как решить эту проблему с помощью ActiveMQ 5.9:

Резюмируя:

  • если потребительский JVM умирает, JMS соединение между брокером и потребителем будет тайм-аутом, и любое неподтвержденное сообщение будет перепланировано для доставки
  • , если соединение JMS не умирает, но потребитель застревает обработку сообщения, AbortSlowAckConsumerStrategy прервет медленных потребителей, когда они достигнут настроенного порога от медленности, по умолчанию является то, что потребитель, у которого не было Ack'd сообщение в течение 30 секунд, является медленным
Смежные вопросы