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

Ben O'Day updated CAMEL-4118:
-----------------------------

    Attachment:     (was: CAMEL-4118.patch)

> 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


Reply via email to