如何看待整个骆驼路线

时间:2014-07-09 19:20:35

标签: java apache-camel aspectj

基本上,我想描述一个完整的骆驼路线,以便我可以在开始和结束时抓住有效载荷。

现在,我知道我可以在中间区分主要的“做”类,而不是从队列中拉出它并将其放在磁盘上。这对于一个简单的路线来说很好,而不是那个有很多“做”阶段的路线。

但是有没有办法把路线的起点和终点联系起来,而不是把它放到路线上?

我有很多路线,我希望尽可能保持它们的记录代码。

2 个答案:

答案 0 :(得分:2)

使用Camel的拦截可能性here

  • intercept在路由中路由Exchange时拦截每个处理步骤。
  • interceptFrom拦截路线中的传入Exchange。
  • interceptSendToEndpoint在Exchange即将被发送到给定端点时截获。

在你的情况下,第二种和第三种可能性可能是有意义的。

答案 1 :(得分:1)

我认为你有两个选择:

  1. 在每条路线的开头和结尾添加窃听。见http://camel.apache.org/wire-tap.html。这显然意味着编辑路线,但很简单,每条路线只有两行。
  2. 使用RouteDefinition.adviceWith动态添加拦截器。见http://camel.apache.org/advicewith.html。我没有看到这个用于外部测试,但我没有看到任何理由你不能在实时代码中使用它。