DLQ, пока-успешно и исключения - PullRequest
2 голосов
/ 06 ноября 2011

Я использую до-успешно, чтобы повторить попытку подключения несколько раз, в случае, если у меня исчерпана политика повторных попыток, я хотел бы изящно зарегистрировать ошибку (без выдачи исключения). Я попытался использовать стратегию исключения по умолчанию, например, так:

<until-successful objectStore-ref="objectStore"
        deadLetterQueue-ref="ErrorHandler" maxRetries="${TMSService.numOfRetries}"
        secondsBetweenRetries="${TMSService.retrySecInterval}">
        <outbound-endpoint address="${TMSService.host}" />
    </until-successful>
    <default-exception-strategy>
        <vm:outbound-endpoint path="ErrorMsgs" />
    </default-exception-strategy>

Но это все еще не поймает это исключение, какой будет правильный способ справиться с этим?

Спасибо Спасибо

1 Ответ

2 голосов
/ 06 ноября 2011

Обработчик сообщений, пока не добившийся успеха, не выдает исключений (если только техническая проблема, возможно, не связана с хранилищем объектов), запрещает помещать сообщение в очередь для доставки.

Если вы хотите найти исключениекоторая вызвала последнюю ошибку доставки, вы должны найти в полезной нагрузке исключения сообщения MuleMessage, которое отправляется на конечную точку DLQ.

...