I am trying my luck again here to get some advice on this. If I was not clear
on what I trying to achieve, this is it again
I have a route that is synchronous and in in/out mode, but I want a part of
the route to be parallized and executed on multiple threads. The results of
these parallel invocations would need to be aggregated and be passed on to
further processors down the route. As far as I could see (after digging the
source for long long hours) this cannot be done easily using existing
components/processors. 

The following is what I am trying to achieve 

 from("cxf:bean:soapMessageEndpoint")                   
 .multicast()  
 .thread(2)   // run the long parallel process 1 in a thread
 .process(myLongParallelProc1)
 .end()
 .thread(2) // run the long parallel process 2 in a thread
 .process(myLongParallelProc2)
 .end()
  // at this point the main routes should wait for the parallel process to
complete and should aggregate the responses (may be using an aggregator
kinda). Once this is done continue processing the route 
 .to("bean:testBean?methodName=processSOAP"

The thread() causes the route to be processed asynchrounsly, but what I am
looking is to process them parallely with some kind of aggregation to
collect the output of the processing.  Please let me know if this would be
best handled in some custom processors (dont know how I can achieve this
using that) , but I have many routes that needs such a capability, so a
pointer to the right direction would be really appreciated.

Thanks
Aswin
-- 
View this message in context: 
http://www.nabble.com/Parallel-processing-route-tp15642110s22882p15674594.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to