2015-04-17 2 views
1

Может ли кто-нибудь объяснить, как действует Политика Redelivery от ActiveMQ? Работает ли она на стороне клиента или сервера?Политика Redelivery от ActiveMQ - Как это работает?

Предположим, у меня есть политика переопределения, чтобы повторно отправить сообщение на срок до 10 минут с интервалом в 30 минут между каждой попыткой, а затем, где именно происходит сообщение об ошибке?

Предполагая, что сообщение не удалось выполнить, и оно должно быть переадресовано через 30 минут, то где сообщение появляется?

Я вижу, что тот же потребитель получает сообщение через 30 минут.

Мне интересно, где ActiveMQ хранит это сообщение в течение 30 минут.

Если я выключил потребитель или мой потребитель разбился, смогу ли я восстановить сообщение через 30 минут?

Я пошел через эти ActiveMQ страниц для Redelivery политики, и я не нашел информации:

http://activemq.apache.org/redelivery-policy.html http://activemq.apache.org/message-redelivery-and-dlq-handling.html

ответ

0

Есть два типа возврата судна. Типичным является политика перенаправления, которую вы связываете с клиентской стороной ConnectionFactory. Брокер не знает о повторной доставке в этой настройке, так как он обрабатывается клиентом, и сообщение на самом деле находится на клиенте, ожидающем повторной доставки. Однако, поскольку сообщение не передано клиентом (или подтверждено), брокер не удалит его. Итак, если сообщение отправлено на повторную доставку за 30 минут, но клиентское приложение опустится через 10 минут, сообщение снова появится на брокере.

Существует также дополнительная брокером сторона через плагин. В этом случае брокер обрабатывает доставку. Есть плюсы и минусы, в частности, что вы не можете контролировать это из клиентского кода, но администратор брокера может его контролировать. Это означает, что перепродажа брокера может перераспределяться другому потребителю, в то время как повторная доставка на стороне клиента не может.

Подробнее о брокерском возврате судна в нижней части этой страницы: http://activemq.apache.org/message-redelivery-and-dlq-handling.html

+0

Спасибо большого. Я проверил случай, когда клиентский сбой, и я обнаружил, что тестовое сообщение не было потеряно. – serverfaces

Смежные вопросы