2

我目前正在使用 Apache Camel

在以下情况下,我不确定如何确定聚合何时完成。

  • 您从一些包含许多部分的消息开始
  • 然后将消息拆分为多个部分
  • 然后过滤掉其中一些消息
  • 剩余的消息被转换
  • 然后我们想将这些消息重新组合成一条消息

我们知道有多少消息进来,如果我们不过滤聚合器就可以等待那么多消息

以下是我的一些想法,我不太喜欢其中任何一个

  • 过滤器向聚合器发送一些消息,告诉聚合器期望多少消息
  • 过滤器不是过滤器,它将所有要过滤的消息直接发送到聚合器,聚合器充当过滤器
4

1 回答 1

1

请参阅仅带有拆分器的组合消息处理器示例

如果您使用过滤器,则过滤器会在交换器上设置一个属性(无论是否过滤了交换器)。然后,您可以在聚合策略中使用该信息来了解您是否要将该消息合并到该单个结果消息中。

查看是否了解交换是否已过滤

于 2014-06-07T04:49:25.810 回答