У меня есть поток мула, который может генерировать исключение (невозможно подключиться к коннектору, исключению компонентов и т. Д.). Когда это происходит, поток мула останавливается там, где произошло исключение. Мне нужно поймать любое исключение, которое поток выбрасывает и отправляет уведомление об электронной почте, указывающее на то, что возникло исключение. (особенно для потоков, которые будут работать async как чтение из JMS). Какой элемент в потоке я должен использовать, чтобы поймать любое исключение и отправить eMail?Как поймать любое исключение в потоке мула
Я попытался:
<default-exception-strategy>
<smtp:outbound-endpoint host="${email.relay.host}"
mimeType="text/html" from="${email.support.from" to="${email.support.to}"
cc="${email.support.cc}" bcc="${email.support.bcc}" subject="${email.support.subject}">
</smtp:outbound-endpoint>
</default-exception-strategy>
, но это не становится стартовало вообще. Я также попытался:
<exception-type-filter expectedType="java.lang.Exception"></exception-type-filter>
, но это, кажется, работает только тогда, когда поток генерирует исключение (нормальное функционирование потока изменяется).
@David Dossot - я добавил следующий фрагмент:
Я добавил следующий фрагмент:
<catch-exception-strategy>
<smtp:outbound-endpoint host="${email.relay.host}"
mimeType="text/html" from="${email.support.from" to="${email.support.to}"
cc="${email.support.cc}" bcc="${email.support.bcc}" subject="${email.support.subject}">
</smtp:outbound-endpoint>
</catch-exception-strategy>
, но я получаю ERRO при запуске мула приложения:
стек Root Exception trace: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Неверный контент был найден, начиная с элемента 'catch-exception-strategy'. Один из «{« http://www.mulesoft.org/schema/mule/core »: abstract-message-processor,« http://www.mulesoft.org/schema/mule/core »: abstract-outbound-endpoint,« http://www.mulesoft.org/schema/mule/core »: ответ,« http://www.mulesoft.org/schema/mule/core »: abstract-exception-strategy,« http://www.mulesoft.org/schema/mule/core »: abstract-message-info- отображение} '. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException (ErrorHandlerWrapper.java:195) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error (ErrorHandlerWrapper.java: 131) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError (XMLErrorReporter.java:384) + еще 3 (установить регистрацию уровня отладки или '-Dmule.verbose.exceptions = true' для всего)
Я использую Mule 3.2.2. Не могли бы вы помочь?
@ddossot Я попытался добавить его в поток, но я получаю сообщение об ошибке при запуске мула. Не могли бы вы подтвердить, где это следует добавить? –
@ddossot Спасибо Дэвиду. К сожалению, я не контролирую это! Другого пути нет? –
Mule 3.2 настолько старый, что я точно не помню: возможно, можно настроить стратегию исключения на самом транспорте? –