Java 计数骆驼并行拆分上成功处理的邮件数

Java 计数骆驼并行拆分上成功处理的邮件数,java,apache-camel,Java,Apache Camel,为了并行处理大量记录,我正在研究camel。我有这样的想法: from(CAMEL_START_ROUTE_CTE) .multicast().parallelProcessing() .to(CAMEL_PROCESS_DOMAINS_ROUTE) .to(CAMEL_PROCESS_OTHERS_ROUTE) .end() .onCompletion()

为了并行处理大量记录,我正在研究camel。我有这样的想法:

     from(CAMEL_START_ROUTE_CTE)       
         .multicast().parallelProcessing()
            .to(CAMEL_PROCESS_DOMAINS_ROUTE)
            .to(CAMEL_PROCESS_OTHERS_ROUTE)
         .end()
         .onCompletion()
         .to(EndCamelRouteBuilder.CAMEL_ROUTE);

 from(CAMEL_PROCESS_DOMAINS_ROUTE)
         .setHeader("domains").constant(config.getDomains())
             .split(header("domains"))          
             .parallelProcessing()
                .to(ProcessDomainCamelRoute.CAMEL_ROUTE)

             .end()
         .end();
骆驼的起点和路线在哪里

timer:foo?delay=100&repeatCount=1
然后,驼峰\u进程\u域\u路由如下所示:

     from(CAMEL_START_ROUTE_CTE)       
         .multicast().parallelProcessing()
            .to(CAMEL_PROCESS_DOMAINS_ROUTE)
            .to(CAMEL_PROCESS_OTHERS_ROUTE)
         .end()
         .onCompletion()
         .to(EndCamelRouteBuilder.CAMEL_ROUTE);

 from(CAMEL_PROCESS_DOMAINS_ROUTE)
         .setHeader("domains").constant(config.getDomains())
             .split(header("domains"))          
             .parallelProcessing()
                .to(ProcessDomainCamelRoute.CAMEL_ROUTE)

             .end()
         .end();
简单来说,域是一个json列表

我试图实现的是一种计算消息数量并能够在路由中读取消息的方法

我尝试将exchange.setProperty放入处理器(使用camelspitsize)、setHeader等。。。但我在阅读时总是得到一个空值


有人知道一种方法来实现这样的目标吗?某种。。。报告内容(失败、成功消息的数量),但在不同的路径中使用

我在使用split时遇到了类似的问题。最终得到了一个非常简单的bean,其中包含一个hashmap,我将计数器存储在该hashmap中。
我正在调查,但它仅限于消费者。

哇,这是一个很好的解决方案!我从昨天起就一直在努力解决这个问题,我已经设法使用AggregationStrategy解决了这个问题。这有点难看,但效果很好。只要我有一点空闲时间,我就会发布我的解决方案。谢谢@Radovan!