我有很多路由,需要为其添加常规错误处理并执行一些操作,例如日志记录,添加信息(标头)等。我现在在运行时执行此操作,从骆驼上下文中收集所有路由,删除它们,而是添加具有所有必要操作的新RouteBuilders。但是开始需要很长时间,因为您需要停止,删除,添加和开始新路线。有什么办法可以更有效地解决这个问题?
对我来说,选项之一是转换xml文件,但可能是通过 Java dsl 进行的。 也许骆驼3.0可以解决这个问题?
答案 0 :(得分:1)
您已经看过骆驼的intersept功能吗?
例如,使用它可以为路由中的每个Exchange添加自定义标头
<interceptFrom uri="*">
<setHeader headerName="specific"><simple>42</simple></setHeader>
</interceptFrom>
回答剩下的问题,以配置常规错误处理和日志记录,您可以选择使用onException
和onCompletion
块,这些块将应用于提供的CamelContext中的每条路线