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

Split message into several (at least two) in Apache Camel

我的 Apache Camel 的路线在某个时候生成了 object 的列表。

我有另一条路线需要一个 object 作为消息以及某些 object-specific headers 并将其记录到数据库中。

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

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

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

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

向消息添加 headers 也非常简单。如果所有消息都具有相同的 header,您可以添加如下内容:

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

分裂后。

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