Hi, I evaluated Camel's MulticastProcessor for asynchronous processing and get somewhat disappointed because it actually blocks N+1 threads (N is a fork factor in a particular multicast). And then around blocking code I found next comments:
MulticastProcessor lines 323-327: // its to hard to do parallel async routing so we let the caller thread be synchronously // and have it pickup the replies and do the aggregation (eg we use a latch to wait) // wait for aggregation to be done LOG.debug("Waiting for on-the-fly aggregation to complete aggregating {} responses for exchangeId: {}", total.get(), original.getExchangeId()); aggregationOnTheFlyDone.await(); MulticastProcessor lines 710-711: // we invoke it synchronously as parallel async routing is too hard AsyncProcessorHelper.process(async, exchange); Is there a non-blocking threadless-wait alternative to the MulticastProcessor? -- Best regards Michael