You need to enable streaming mode to have out of order aggregation - even for multicast. The work is done in parallel, but in non streaming mode the aggregation happens in fixed order.
On Wed, Apr 1, 2015 at 1:52 PM, Christophe Pache <[email protected]> wrote: > Hello everyone > > I have tried to test the parallel processing with Camel. The split was easy > and worked out of the box. I have some surprises and I'm wondering whenever > I'm understanding correctly the expected behaviour with the multicast. In > the Code below, I try to send messages to two routes. The "even" route takes > more time than the "odd" one. I would like to get the odd number I'm sending > before the even number. I was expecting the odd number to be processed > faster than the other, am I correct? > > I'm currently getting the exchange in the same order I sent, is it the > expected behavior? > > Thanks and have a nice day > > Christophe > > I'm using camel 2.12: > > > > val croute = new org.apache.camel.builder.RouteBuilder { > override def configure(): Unit = { > from("direct:input").multicast().parallelProcessing(). > to("direct:even", "direct:odd").end() > > from("direct:odd").filter(body.isEqualTo(1)).process(new Processor > { > override def process(exchange: Exchange): Unit = { > println(exchange.getIn.getBody) > } > }).to("mock:output") > > from("direct:even").filter(body.isEqualTo(0)). > process(new Processor { > override def process(exchange: Exchange): Unit = { > println(exchange.getIn.getBody) > Thread.sleep(1000) > //or to avoid side effects on the Thread: (1 to > 1000000).foreach(x => scala.util.Random.nextDouble()) > } > } > ). > to("mock:output") > } > } > > //..... > val producer = camelContext.createProducerTemplate() > List(0, 1, 0, 1, 0, 1, 0, 1, 0, 1).foreach(x => > producer.sendBody("direct:input", x)) > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/parallelProcessing-with-multicast-tp5765146.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: [email protected] Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/
