我试图在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。
任何帮助都将不胜感激。
发布于 2015-10-29 14:10:01
关于回滚异常策略的骡子文件说:
当您的流使用以下两种传输类型之一时,Mule尝试消息重传:事务性传输或可靠
在Mule中,VM、JDBC、JMS传输是事务性的,JMS、FTP、File、IMAP是可靠的传输。
因此,如果流有上述入站端点之一,回滚异常策略将重新尝试。
发布于 2014-03-06 05:13:45
请记住,回滚异常策略机制仅适用于IllegalStateException.。对于所有其他例外情况,您必须定义不同的策略。
Javadocs的IllegalStateException声明:
在非法或不适当的时间调用方法的信号。换句话说,对于请求的操作,Java环境或Java应用程序没有处于适当的状态。
https://stackoverflow.com/questions/18859848
复制相似问题