[ https://issues.apache.org/jira/browse/CAMEL-3535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981433#action_12981433 ]
Claus Ibsen commented on CAMEL-3535: ------------------------------------ Brain this route works fine as well {code} from("seda:start") .bean(TestBean.class) .aggregate(constant("true"), new BodyInAggregatingStrategy()) .completionInterval(2000) .to("mock:result"); {code} Trace logging show the interval task triggers and invokes the onComplete {code} 2011-01-13 20:20:06,218 [eTimeoutChecker] TRACE AggregateProcessor - Completion interval triggered for correlation key: true 2011-01-13 20:20:06,219 [eTimeoutChecker] DEBUG AggregateProcessor - Aggregation complete for correlation key true sending aggregated exchange: Exchange[Message: A+B] 2011-01-13 20:20:06,221 [eTimeoutChecker] DEBUG AggregateProcessor - Processing aggregated exchange: Exchange[Message: A+B] 2011-01-13 20:20:06,223 [eTimeoutChecker] TRACE AggregateProcessor - Processing aggregated exchange: Exchange[Message: A+B] complete. 2011-01-13 20:20:06,223 [main ] INFO DefaultCamelContext - Apache Camel (CamelContext:camel-1) is shutting down 2011-01-13 20:20:06,223 [eTimeoutChecker] TRACE AggregateProcessor - Completion interval task complete {code} > Aggregation fails to call onComplete for exchanges if the aggregation is > after a bean or process. > ------------------------------------------------------------------------------------------------- > > Key: CAMEL-3535 > URL: https://issues.apache.org/jira/browse/CAMEL-3535 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.5.0 > Reporter: Brian Feaver > Assignee: Claus Ibsen > Fix For: 2.6.0 > > Attachments: AggregationTest.java > > > When creating a route that contains an aggregation, if that aggregation is > preceded by a bean or process, it will fail to call > AggregateOnCompletion.onComplete(). I've attached a unit test that can show > you the behavior. Trace level loggging will need to be enabled to see the > difference. With the call to the bean, it won't show the following log entry: > {noformat}TRACE org.apache.camel.processor.aggregate.AggregateProcessor - > Aggregated exchange onComplete: Exchange[Message: ab]{noformat} > If you remove the bean call, it'll start calling onComplete() again. > What I've noticed is that if this call is not made, it ends up in a memory > leak since the inProgressCompleteExchanges HashSet in AggregateProcessor > never has any exchange ID's removed. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.