Apache camel ApacheCamel中的拆分和聚合

Apache camel ApacheCamel中的拆分和聚合,apache-camel,eip,Apache Camel,Eip,我想拆分exchange消息体(它是MyCustomClass对象的列表),处理它们(一个接一个),并将所有的交换聚合在一起。拆分是可以的,一个接一个地处理也是可以的,但我不知道如何聚合它们 from("mysource") .unmarshal(new ListJacksonDataFormat(MyClass.class)) .split().body() .process(new Processor() { @Override pub

我想拆分exchange消息体(它是MyCustomClass对象的列表),处理它们(一个接一个),并将所有的交换聚合在一起。拆分是可以的,一个接一个地处理也是可以的,但我不知道如何聚合它们

from("mysource")
    .unmarshal(new ListJacksonDataFormat(MyClass.class))
    .split().body()
    .process(new Processor() {
        @Override
        public void process(Exchange exchange) throws Exception {
            // process MyClass item
            exchange.getIn().setBody(processedItem);
        }
    })
    .to("destinationForProcessedItem")
    .aggregate(new GroupedExchangeAggregationStrategy()) <== Seems like problem is here
    .process(new Processor() {
            // handle result of aggregation
    })
from(“mysource”)
.unmarshal(新的ListJacksonDataFormat(MyClass.class))
.split().body()
.进程(新处理器(){
@凌驾
公共作废进程(Exchange)引发异常{
//处理MyClass项
exchange.getIn().setBody(processedItem);
}
})
.至(“ProcessEdItem的目的地”)
.aggregate(新的GroupedExchangeAgregationStrategy())这样写

         .aggregate(new AggregationStrategy() {
                @Override
                public Exchange aggregate(Exchange exchange, Exchange exchange1) {
                    //logic for aggregation using exchnage and exchange1
                }
            })
这样写

         .aggregate(new AggregationStrategy() {
                @Override
                public Exchange aggregate(Exchange exchange, Exchange exchange1) {
                    //logic for aggregation using exchnage and exchange1
                }
            })

使用拆分器中的内置聚合器,请参阅组合消息处理器EIP模式:。

使用拆分器中的内置聚合器,请参阅组合消息处理器EIP模式: