【发布时间】:2016-03-03 14:57:58
【问题描述】:
我的 Apache Camel 的路线有时会生成一个对象列表。
我有另一个路由,它期望一个对象作为消息以及某些特定于对象的标头并将其记录到数据库中。
配置 Camel 路由的最佳方法是:
- 以 Camel 消息形式拆分为单个对象
- 一些 Camel 消息头添加到每个拆分消息中
- 并且每条消息都按照特定的路径发送?
目前我需要拆分两个消息的列表。
【问题讨论】:
标签: java apache-camel
我的 Apache Camel 的路线有时会生成一个对象列表。
我有另一个路由,它期望一个对象作为消息以及某些特定于对象的标头并将其记录到数据库中。
配置 Camel 路由的最佳方法是:
目前我需要拆分两个消息的列表。
【问题讨论】:
标签: java apache-camel
因此,您可以使用 Camel 的 splitter EIP 将消息拆分为任意数量的消息。如果您将列表传递给拆分器,它将自动按最简单的元素拆分列表。如果默认拆分工具不够用,您可以编写一个自定义拆分 bean,以任何您想要的方式拆分消息。
from(START)
.split(). method(SplitBean.class, "splitMessage")
.to(FINISH);
向消息添加标题也很简单。如果所有消息都具有相同的标题,您可以添加如下内容:
.setHeader("cool", simple("true", Boolean.class))
分手后
使用骆驼dynamic routing 也很容易将每条消息路由到不同的路由。
【讨论】: