在Apache Camel中将消息拆分为多个(至少两个)

时间:2016-03-03 14:57:59

标签: java apache-camel

我的Apache Camel的路线在某些时候会生成一个对象列表。

我有另一条路由需要一个对象作为消息以及某些特定于对象的标头,并将其记录到数据库中。

配置Camel路由的最佳方法是什么,以便列表为:

  • 将单个对象拆分为Camel消息
  • 为每条拆分邮件添加了一些Camel邮件标题
  • 并且每条消息都以某种方式进入?

目前我需要拆分两条消息列表。

1 个答案:

答案 0 :(得分:2)

因此,您可以使用Camel的splitter EIP将邮件拆分为任意数量的邮件。如果将列表传递给拆分器,它将自动拆分列表中的easy元素。如果默认拆分工具不够,您可以编写一个自定义拆分bean,以任何您想要的方式拆分消息。

from(START)
 .split(). method(SplitBean.class, "splitMessage")
 .to(FINISH);

为邮件添加标题也非常简单。如果所有消息都具有相同的标题,您可以使用以下内容:

.setHeader("cool", simple("true", Boolean.class))
分手后

使用驼峰dynamic routing将每条消息路由到不同的路线也很容易。