Обработка ошибок в сообщениях может работать несколькими способами:
- «Политика повторной доставки» на стороне брокера.Когда клиент вызывает число отката n раз (по умолчанию обычно 6 попыток) раз и брокер автоматически перемещает сообщение в очередь недоставленных сообщений (DLQ)
- на стороне клиента.Приложение получает сообщение и затем отправляет его в DLQ.
Вариант № 1 подходит для незапланированных / плановых отключений - отключение базы данных и т. Д. Если требуется автоматическая повторная попытка.Политику повторной доставки также можно настроить, когда клиент подключается к брокеру.
Опция # 2 подходит для сценариев «неверных данных», когда вы знаете, что сообщение никогда не сможет быть обработано.Это идеально, потому что вы можете переместить сообщение при первом обращении и не должны отклонять сообщение n раз.
Когда вы объединяете бесконечную повторную попытку с # 1 и включаете # 2 в свой поток приложения, выможет иметь надежную последовательность процессов: автоматическая повторная попытка и быстрое перемещение неверных данных.Лучший представитель породы =)
Политика доставки ActiveMQ