根据某些标题,在驼峰中使用不同聚合策略的正确方法是什么?以下方式是否正常或是否有其他更清洁的方法来做到这一点?
from("direct:start")
.choice()
.when(header("foo").equalTo("bar"))
.aggregate(header("id"), new BodyInAggregatingStrategy()).completionTimeout(3000).endChoice()
.when(header("foo").equalTo("foobar"))
.aggregate(header("id"), new BodyOutAggregatingStrategy()).completionTimeout(3000)
.to("mock:aggregated");
答案 0 :(得分:1)
您需要实现自己的复合聚合策略,然后相应地聚合到标头值,例如从Camel pov有1个策略,它调用聚合方法。然后根据标题值找出要做的事情。您可以代表其委托另一个聚合策略。
然后您不需要基于内容的路由器。