Mule 4 - исключение Anypoint MQ Retry Exhausted и очередь недоставленных сообщений

Я начал использовать Anypoint MQ Subscribe с участием Max Redelivery Countустановлен на 2.

Приложение должно выдать исключение ANYPOINT-MQ:RETRY_EXHAUSTED после 2 неудачных доставок, но сообщение было возвращено обратно в основную очередь и снова получено в следующем пакете.

Я пытаюсь вставить сообщения DLQвручную после 2 неудачных доставок с использованием области "Пробная".

Есть идеи, как вручную помещать сообщения в DLQ?

0 ответов

Ошибки, связанные с anypoint-mq:RETRY_EXHAUSTED или HTTP:RETRY_EXHAUSTED, всегда возникают, когда ему не удалось подключиться к какой-либо точке mq или HTTP-запросу к любой другой службе.

Когда вы устанавливаете стратегию повторного подключения в разъеме, например, повторную попытку 2 раза, тогда разъем пытается подключиться 2 раза, и после этого все еще нет соединения, тогда мы получим ошибку повторной попытки исчерпания

Чтобы поймать эту ошибку и увидеть сообщение для DLQ, выполните категоризацию ошибки при распространении ошибки, используйте тип ANYPOINT-MQ:RETRY_EXHAUSTED или HTTP:RETRY_EXHAUSTED в зависимости от того, какой соединитель вы используете.

Затем он поймает эту ошибку, а затем внутри при распространении ошибки используйте любую логику, например, отправьте сообщение в файл или dlq что угодно, но и там, если он не может отправить в файл, поместите регистратор с надлежащими деталями, чтобы отслеживать сообщение, не теряя его.

благодаря

Другие вопросы по тегам