首页 文章

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

提问于
浏览
1

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

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

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

  • 将单个对象拆分为Camel消息

  • 为每条拆分邮件添加了一些Camel邮件头

  • 并且每条消息都在某个路径中?

目前我需要拆分两个消息列表 .

1 回答

  • 2

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

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

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

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

    分手后

    使用camel dynamic routing也可以轻松地将每条消息路由到不同的路由 .

相关问题