我正在使用Apache Camel聚合器与 parallelProcessing 同时处理聚合交换:
from("direct:test")
.aggregate(constant(true), new GroupedMessageAggregationStrategy())
.completionSize(10)
.completionTimeout(3000)
.parallelProcessing()
.to("direct:test2")
.log("Completed!") //executed for each aggregated exchange
.end();
我需要的是在处理所有聚合交换时获取回调并记录“已完成!”之后。
目前,(参见上面的日志声明) - 它正在为每个聚合交换执行。
提前感谢任何建议。
答案 0 :(得分:1)
也许您需要记录“已完成!”在不同的路线。像这样:
from("direct:start")
.split(body())
.to("direct:test")
.end()
.log("Completed!");
from("direct:test")
.aggregate(constant(true), new GroupedMessageAggregationStrategy())
.completionSize(10)
.completionTimeout(3000)
.parallelProcessing()
.to("direct:test2");
from("direct:test2")
.log("do something");