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.