我们在骆驼中面临一些问题。骆驼版本是:2.10
以下片段:
<dotry>
<camel:setHeader headerName="ExternalserviceAddress">
<camel:simple>cxf:bean:ExternalService?address=${properties:${property.IncomingValue}_ServiceURL}&dataFormat=PAYLOAD</camel:simple>
</camel:setHeader>
<camel:recipientList>
<camel:header>ExternalserviceAddress</camel:header>
</camel:recipientList>
<doCatch>
<exception>java.lang.Exception</exception>
</doCatch>
</doTry>
此处如果我使用 recipientList ,则在本地doCatch Block中不会处理异常。相反,异常是在全球范围内处理。请建议是否有任何解决方案。
答案 0 :(得分:0)
添加
<handled>
<constant>true</constant>
</handled>
现在您的异常可以在此doTry块中被抑制,或者您可以向父路由或您想要做的任何事情抛出一些其他异常。
您可以在此处了解有关已处理的更多信息 - http://camel.apache.org/exception-clause.html