我是从骆驼和春天的世界写作的!
我正在使用此recipe以编程方式添加路由。
基本上,您可以获取驼峰上下文并使用文件添加路径。
这就是问题:
在运行时添加的路由不会触发任何OnException
,在Spring读取的上下文文件中设置。
回顾一下:
<camel:camelContext>
<onException id="exceptions">
<handled>
<constant>true</constant>
</handled>
<process ref="logExceptionProcessor"/>
<to uri="activemq:adapterLOG"/>
<process ref="mailSender"/>
</onException>
...
OnException
设置。你对这种行为有什么建议吗?
答案 0 :(得分:1)
您可以使用两种不同的错误处理程序范围。第一个是路由级错误处理程序,它将管理该路由的错误处理,第二个是该上下文中所有内容的全局错误处理。如果您想了解更多详细信息,请转到文档中的“范围”部分。
http://camel.apache.org/error-handler.html
对于在路由中加载时的用例,您将无法利用全局错误处理程序,因为路径定义是与上下文分开创建的,然后在运行时添加到它。这意味着您需要为单独加载的每个路径定义错误处理。注意:这并不意味着您无法创建自己的常见错误处理策略,并且每个路由都会引用该策略。
答案 1 :(得分:0)
也许它无法完成:): “当添加如本页所示的路由时,路由是隔离的,不能重复使用任何现有的onException,拦截等。”来自http://camel.apache.org/loading-routes-from-xml-files.html