2016-03-03 103 views
1

我的Apache的骆驼的一些点路线生成对象的列表。拆分消息为几个(至少两个)在Apache的骆驼

我有一个希望对象作为消息以及某些特定对象的头和它记录到数据库中的另一个途径。

什么是配置骆驼航线的最佳方式,以便列表是:

  • 分割成单个对象骆驼消息
  • 一些骆驼邮件标题添加到每个分消息
  • 和每个消息在一定的路线?

目前,我有一个需要分割只是两个消息列表。

回答

2

所以,你可以使用骆驼的splitter EIP到了,只要你想拆分的消息到尽可能多的信息。如果你将一个列表传递给一个分离器,它将自动地通过简单的元素来分割列表。如果缺省的拆分工具不够用,你可以编写一个自定义拆分bean,以任何你想要的方式拆分消息。

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

添加页眉的消息也相当简单。如果所有的消息都有相同的头文件,你可以试试这样的东西:

.setHeader("cool", simple("true", Boolean.class)) 

你分裂后。

路由每个消息到不同的路线也很容易利用骆驼dynamic routing

+0

什么分裂()不带参数的?它能发生吗? –

+0

是的,如果你的消息体使用一个迭代器来容纳一个List /数组或其他东西,骆驼会自动将该列表分割成它的单独元素。 – David