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

Java 在Apache Camel中将消息拆分为多个(至少两个),java,apache-camel,Java,Apache Camel,我的apachecamel路由在某个点生成一个对象列表 我有另一个路由,它期望一个对象作为消息以及特定于对象的头,并将其记录到数据库中 配置驼峰路线的最佳方法是什么,以便列出: 作为驼峰消息拆分为单个对象 一些骆驼消息头添加到每个拆分消息 每条信息都有特定的路径 目前,我只需要拆分两条消息的列表。因此,您可以使用Camel将消息拆分为您想要的任意多条消息。如果将列表传递到拆分器中,它将自动按列表中的easy元素拆分列表。如果默认的拆分工具还不够,您可以编写一个自定义的拆分bean,以任意方式

我的apachecamel路由在某个点生成一个对象列表

我有另一个路由,它期望一个对象作为消息以及特定于对象的头,并将其记录到数据库中

配置驼峰路线的最佳方法是什么,以便列出:

  • 作为驼峰消息拆分为单个对象
  • 一些骆驼消息头添加到每个拆分消息
  • 每条信息都有特定的路径
目前,我只需要拆分两条消息的列表。

因此,您可以使用Camel将消息拆分为您想要的任意多条消息。如果将列表传递到拆分器中,它将自动按列表中的easy元素拆分列表。如果默认的拆分工具还不够,您可以编写一个自定义的拆分bean,以任意方式拆分消息

from(START)
 .split(). method(SplitBean.class, "splitMessage")
 .to(FINISH);
向消息添加标题也非常简单。如果所有消息都有相同的标题,您可以添加如下内容:

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


使用camel将每条消息路由到不同的路由也很容易。

不带参数的split()如何?是否会发生这种情况?是的,如果消息体包含一个列表/数组或具有迭代器的内容,那么camel将自动将该列表拆分为各个元素。