你好,我有一个 Camel 路由,分裂一个传入的消息,我想聚合这个消息,但我不知道有多少消息将被分裂。
我使用了以下方法:
.aggregate(new AggregateStrategy()).header("uuid").completionSize(header("CamelSplitSize"))
这不起作用,它挂起了...但是,如果我将完成大小设置为一个数字值,它就起作用了。
任何人都知道如何动态聚合,并等待完成。顺便说一句,头部是在分割之前设置的。
你好,我有一个 Camel 路由,分裂一个传入的消息,我想聚合这个消息,但我不知道有多少消息将被分裂。
我使用了以下方法:
.aggregate(new AggregateStrategy()).header("uuid").completionSize(header("CamelSplitSize"))
这不起作用,它挂起了...但是,如果我将完成大小设置为一个数字值,它就起作用了。
任何人都知道如何动态聚合,并等待完成。顺便说一句,头部是在分割之前设置的。
1条答案
按热度按时间rekjcdws1#
您不需要聚合器,也不需要完成大小。您只需要带有聚合策略的拆分器EIP。
在链接的示例中,您可以看到这样的Splitter会重新聚合之前拆分的任何内容,而不管拆分产生了多少部分。