计算骆驼并行拆分上成功处理的消息数
Count number of successful processed messages on camel parallel split
我正在研究 camel,以便并行处理大量记录。我有这样的东西:
from(CAMEL_START_ROUTE_CTE)
.multicast().parallelProcessing()
.to(CAMEL_PROCESS_DOMAINS_ROUTE)
.to(CAMEL_PROCESS_OTHERS_ROUTE)
.end()
.onCompletion()
.to(EndCamelRouteBuilder.CAMEL_ROUTE);
其中 CAMEL_START_ROUTE_CTE 是
timer:foo?delay=100&repeatCount=1
然后,CAMEL_PROCESS_DOMAINS_ROUTE 看起来像这样:
from(CAMEL_PROCESS_DOMAINS_ROUTE)
.setHeader("domains").constant(config.getDomains())
.split(header("domains"))
.parallelProcessing()
.to(ProcessDomainCamelRoute.CAMEL_ROUTE)
.end()
.end();
简化,域是一个 json 列表。
我想要实现的是一种计算消息数量并能够在路由 EndCamelRoute
中读取的方法
我已经尝试将 exchange.setProperty 放入处理器(使用 CamelSplitSize)、setHeader 等...但是我在读取时总是得到一个 null。
有人知道实现类似目标的方法吗?某种......报告内容(失败,成功消息的数量),但在不同的路线中消耗
我在使用 split 时遇到了类似的问题。最终得到了一个非常简单的 bean,其中包含一个哈希图,我在其中存储了我的计数器。
我正在调查 MicroMeter Component 但它仅供消费者使用。
我正在研究 camel,以便并行处理大量记录。我有这样的东西:
from(CAMEL_START_ROUTE_CTE)
.multicast().parallelProcessing()
.to(CAMEL_PROCESS_DOMAINS_ROUTE)
.to(CAMEL_PROCESS_OTHERS_ROUTE)
.end()
.onCompletion()
.to(EndCamelRouteBuilder.CAMEL_ROUTE);
其中 CAMEL_START_ROUTE_CTE 是
timer:foo?delay=100&repeatCount=1
然后,CAMEL_PROCESS_DOMAINS_ROUTE 看起来像这样:
from(CAMEL_PROCESS_DOMAINS_ROUTE)
.setHeader("domains").constant(config.getDomains())
.split(header("domains"))
.parallelProcessing()
.to(ProcessDomainCamelRoute.CAMEL_ROUTE)
.end()
.end();
简化,域是一个 json 列表。
我想要实现的是一种计算消息数量并能够在路由 EndCamelRoute
中读取的方法我已经尝试将 exchange.setProperty 放入处理器(使用 CamelSplitSize)、setHeader 等...但是我在读取时总是得到一个 null。
有人知道实现类似目标的方法吗?某种......报告内容(失败,成功消息的数量),但在不同的路线中消耗
我在使用 split 时遇到了类似的问题。最终得到了一个非常简单的 bean,其中包含一个哈希图,我在其中存储了我的计数器。 我正在调查 MicroMeter Component 但它仅供消费者使用。