2013-09-17 3 views
2

Я пытаюсь реализовать обработку исключений в Mule.Стратегия исключения отката

Я использовал стратегию исключения отката для повторного использования сообщения, прежде чем принимать его как сообщение об ошибке.

У меня есть стратегия исключения, как показано ниже.

<rollback-exception-strategy maxRedeliveryAttempts="3" doc:name="Rollback Exception Strategy"> 
     <logger message="message1 #[exception]" level="INFO" doc:name="Logger"/> 
     <file:outbound-endpoint path="C:\\MuleSamples\backout" responseTimeout="10000" doc:name="File"/> 
     <on-redelivery-attempts-exceeded doc:name="Redelivery exhausted"> 
      <logger message="#[message.exceptionPayload]" level="INFO" doc:name="Logger"/> 
      <file:outbound-endpoint path="C:\\MuleSamples\backout" outputPattern="backoutmsg.xml" responseTimeout="10000" doc:name="File"/> 
     </on-redelivery-attempts-exceeded> 
</rollback-exception-strategy> 

Это не работает, как я ожидал, хотя я настроил RedeliveryAttempts как 3, поток не повторно загрузить сообщение. Он просто обрабатывает его один раз.

Я не понимаю, что здесь отсутствует.

У меня есть входящая конечная точка WMQ и используется WMQ_transaction.

Любая помощь будет принята с благодарностью.

+0

Вы также можете поделиться конфигурацией потока? – genjosanzo

ответ

0

Имейте в виду, что механизм стратегии исключения отката работает только с IllegalStateException. Для всех остальных исключений вы должны определить другую стратегию.

Javadocs для состояния IllegalStateException Java, что это:

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

+1

Можете ли вы указать источник этой информации? Ничего подобного не упоминается [здесь] (http://www.mulesoft.org/documentation/display/current/Rollback+Exception+Strategy) – Sudarshan

1

Mule document на откат стратегии исключения говорит, что:

Mule пытается сообщение Redelivery, когда ваш поток использует один из следующих двух видов транспорта: транзакционных или надежного

В Mule, VM, JDBC, Транзакции JMS являются транзакционными, а JMS, FTP, File, IMAP - надежными транспортными средствами.

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

 Смежные вопросы

  • Нет связанных вопросов^_^