骆驼组播聚合以最快的速度赢得胜利

时间:2019-03-17 21:51:01

标签: routes header apache-camel aggregate multicast

是否可以在骆驼中为n条路由创建多播,并从n条路由中以最快的方式确定整个多播的单个聚合值?

例如:

transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-16");

我尝试了多播和聚合的aggregationStrategies,但是它们甚至都没有使用nulloldExchange调用一次。

以某种方式,聚合看不到多播路由内的报头更改,或者聚合谓词错误?

1 个答案:

答案 0 :(得分:0)

似乎所有骆驼组件(拆分,多播)都不支持正常的程序中断,因此应该创建路由分解,并借助外部帮助将其手动聚合回去,例如存储/获取结果的地图

R1 (multicast to seda routes) -> R2 (timeout logic) -> R4 - get results from a Map(either R2 timeouted or R3 put there something faster) 
   \                                                  ^     should be threadsafe
    \                                                /  
     ˇ  R3 quickly found a result for the problem   /