分裂,丰富和重新组合

时间:2011-09-24 07:56:43

标签: java apache-camel

除了其他信息(思考地址,客户详细信息等)之外,我还有一条载有XML(订单)的消息,其中包含多个同质节点(想想产品列表)。我必须丰富每一个产品'由另一个外部服务提供的详细信息,并返回相同的完整XML' order'消息与丰富的产品'。

我想出了这一系列步骤:

  1. 使用xpath拆分原始XML以分隔消息(同时保留原始消息)
  2. 使用其他数据丰富拆分消息
  3. 通过替换旧元素将丰富的部分放回原始消息中。
  4. 我试图通过向完成拆分和丰富的端点发送原始消息以及聚合端点来尝试使用多播,其中原始消息和拆分丰富的消息是聚合,然后传递给负责将这些部分组合回单个的处理器xml文件。但我无法达到预期的效果......

    解决这个问题的正确和好方法是什么?

1 个答案:

答案 0 :(得分:5)

Camel中的Splitter EIP可以将消息聚合回来(作为组合消息处理器EIP)。 http://camel.apache.org/splitter

观看此视频,演示此类用例 http://davsclaus.blogspot.com/2011/09/video-using-splitter-eip-and-aggregate.html