我正在使用直到成功才能多次重试连接,如果我的重试策略已经用完,我想优雅地记录错误(不会引发异常)。 我尝试过使用默认异常策略,如下所示:
<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>
但是仍然没有抓住那个例外,处理这个问题的正确方法是什么?
由于 感谢
答案 0 :(得分:2)
直到成功的消息处理器不会抛出异常(除非技术问题,可能是其对象存储),阻止它将消息排入队列进行传递。
如果要查找导致上次传递错误的异常,您应该在MuleMessage的异常有效负载中找到调度到DLQ端点的内容。