我们需要编写一个全局异常处理程序,以便该全局异常处理程序捕获任何单个流(我们有80+骡子流)上的任何异常。
基本上,我们希望添加全局配置,并将默认的全局捕获异常策略关联起来,以便在这里处理任何流中的任何异常。
添加每个流中的每个“捕捉异常策略”都是有效的,但是我必须重复类似的代码50+时间,这是我出于明显的原因想要避免的。
另外,请注意,我想传递这个全局异常策略的特定参数,这样这个全局异常策略也会给出特定于流的信息。请建议一下。
注意:我没有在mule的“全局元素”中看到全局捕获异常策略选项。
参考资料:
骡子特定的文档不清楚。
https://docs.mulesoft.com/mule-user-guide/v/3.7/error-handling
这一要求看起来非常相似,但对于传递参数等问题并不十分清楚:
发布于 2016-05-10 03:28:38

您应该能够在UI中看到它。不知道为什么你不能。如果我的理解是正确的。请找到截图。
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" basePath="test" doc:name="HTTP Listener Configuration"/>
<flow name="TestFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<logger level="INFO" doc:name="Logger"/>
<set-payload value="#['Hello World']" doc:name="Set Payload"/>
<exception-strategy ref="Choice_Exception_Strategy" doc:name="Reference Exception Strategy"/>
</flow>
<choice-exception-strategy name="Choice_Exception_Strategy">
<catch-exception-strategy when="exception.causeMatches(java.lang.ArithmeticException)" doc:name="Catch Exception Strategy- Arithmetic Exception">
<logger level="INFO" doc:name="Logger"/>
</catch-exception-strategy>
<catch-exception-strategy doc:name="Catch Exception Strategy-All Exception">
<logger level="INFO" doc:name="Logger"/>
</catch-exception-strategy>
</choice-exception-strategy>根据您的评论,您可以使用任何可行的方法适合您。
如果您使用的是旧版本。调色板在这里提到的url中类似于https://docs.mulesoft.com/mule-user-guide/v/3.7/catch-exception-strategy
发布于 2016-05-09 22:36:26
斯塔尔的建议很好。另外,如果您想将参数传递到全局异常处理程序中,一个好的方法是设置一个全局异常读取的流变量,并且永远不要忘记在每个流上都将一个值输入到这个变量中。
https://stackoverflow.com/questions/37123372
复制相似问题