Возможно ли на верблюде создать многоадресную рассылку для n маршрутов и от n маршрута, в зависимости от того, что является самым быстрым, определить единое агрегированное значение всей многоадресной рассылки?
Итак, например:
from("direct:anywhere")
.process(e -> { e.getIn().setHeader("isComplete", false)})
.multicast()
.parallelProcessing(true)
.to("direct:somewhere", "direct:somewhere2")
.end()
.aggregate(header("isComplete"))
.completion(header("isComplete").isEqualTo(true))
.completionSize(1); // do i need this at all if i want the fastest route?
.choice()..... // based on the fastest route's logic do something else with the exchange.getIn() headers or body
Я пробовал агрегатные стратегии как для многоадресной рассылки, так и для агрегата, но они даже ни разу не вызывались с нулевым oldExchange.
Каким-то образом агрегат не может видеть изменения заголовка внутри многоадресных маршрутов или предикат агрегата плох?