Сохранение причины исключения при повторной доставке сбойных сообщений activemq jms, обработанных Mule ESB - PullRequest
1 голос
/ 21 февраля 2011

Я построил несколько процессов Mule, которые потребляют сообщения из очередей jms (ActiveMQ). Всякий раз, когда компонент Mule создает исключение, транзакция, которая использует откат сообщений и сообщение доставляется в исходную очередь. После нескольких попыток он будет отправлен в очередь недоставленных сообщений (DLQ.queuName).

У нас все работает нормально, но мы пропустили выброшенное исключение, первое или последнее, нам все равно (вероятно, это будет то же самое). Это то, что может быть сделано на других брокерах (таких как WebLogic JMS), но я боролся с этим некоторое время безрезультатно.

Кто-нибудь знает, может ли это быть что-то, что можно настроить, или мне нужно создать определенный обработчик исключений Mule или политику для ActiveMQ.

ТИА, Мартин

1 Ответ

1 голос
/ 24 февраля 2011

Это исключение потеряно в ActiveMQ в данный момент (не знаю о Муле), но оно регистрируется в журнале как ошибка. Это могло бы стать хорошим улучшением, запомнив строковую форму исключения в ActiveMQConsumer и передав его обратно брокеру с ядовитым Ack, который заставляет его перейти DLQ. Таким образом, его можно запомнить как свойство сообщения в полученном сообщении DLQ. Как бы вы хотели обработать исключение, сообщить об этом прослушивателю исключения подключения или записать его в сообщение DLQ?

...