You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Ben O'Day (JIRA)" <ji...@apache.org> on 2011/08/04 05:53:27 UTC

[jira] [Resolved] (CAMEL-4118) Improve the Aggregator to be able to force a flush all aggregated exchanges

     [ https://issues.apache.org/jira/browse/CAMEL-4118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ben O'Day resolved CAMEL-4118.
------------------------------

    Resolution: Fixed

added this support as discussed, updated 2.9 release notes and Aggregator2 docs...

> 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