[ https://issues.apache.org/jira/browse/CAMEL-4118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13066599#comment-13066599 ]
Claus Ibsen commented on CAMEL-4118: ------------------------------------ Also it would be good to have unit tests in camel-hawtdb and camel-sql as they have a persistent repository. > Improve the Aggregator to be able to force a flush all aggregated exchanges > --------------------------------------------------------------------------- > > Key: CAMEL-4118 > URL: https://issues.apache.org/jira/browse/CAMEL-4118 > Project: Camel > Issue Type: Improvement > Affects Versions: 2.7.2 > Reporter: Christian Müller > Assignee: Ben O'Day > Fix For: 2.9.0 > > Attachments: CAMEL-4118.patch > > > Imagine you process a big file with multiple financial transactions. After > splitting the file into its individual transactions, we send they to an > aggregator to group transactions for the same card/account together. At this > time, we don't know how many transactions we have to group together. Only at > the end of processing the input file, we know that we are done. At this time, > we have to instruct the aggregator to "flush all aggregated exchanges". > A workaround for the time being is, to inject the aggregator also into a bean > which is called after the splitter. This bean can query for all keys with the > "getKeys" method and than send a "flush" exchange to the aggregator > (completionPredicate(header("flush"))). However it will still aggregate that > "flush exchange". So take care of that in your custom aggregation strategy > and enable eagerCheckCompletion, so the predicate is checked before > aggregating. > We had a similar question on the user list to "flush all aggregated > exchanges" when Camel shut down. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira