My route looks like this
from( trigger )
.routePolicy( new FinishNotifier( onFinsh ) )
.to( in ).split().body()
.streaming()
.process( aggregationHeaderProcessor )
.aggregate( header( AggregationHeaderProcessor.ORDER_ID_HEADER
), packAggregator )
.completionSize( header(
AggregationHeaderProcessor.PACK_COUNT_HEADER ) )
.executorService( Executors.newFixedThreadPool(
validationThreads ) )
.log( LoggingLevel.TRACE, "Processing order #
${property.CamelSplitSize}" )
.process( validationProcessor )
.process( statusCounterProcessor )
.process( statisticsProcessor )
.process( validationResultProcessor )
.to( out )
.routeId( ROUTE_ID );
FinishNotifier only implements "onExchangeDone". My problem is that this is
called right after aggregation has completed. But i want that complete route
has finished when exchange is done. The route worked fine without the 3
lines for aggregation (process(), aggregate(), completionSize). So i suspect
the aggregator to mark the exchange as done.
So is there a way to unmark or prevent the too early call of
onExchangeIsDone ?
--
View this message in context:
http://camel.465427.n5.nabble.com/When-original-exchange-isDone-with-aggregator-tp5772577.html
Sent from the Camel - Users mailing list archive at Nabble.com.