Susan Javurek created CAMEL-7433:
------------------------------------

             Summary: Please create a preCompletionPredicate for camel 
aggregator
                 Key: CAMEL-7433
                 URL: https://issues.apache.org/jira/browse/CAMEL-7433
             Project: Camel
          Issue Type: Improvement
    Affects Versions: 2.10.7
            Reporter: Susan Javurek


We often face the same issue when it comes to aggregating multiple records into 
a single file.

A very common requirement that we have is that the aggregated files that we 
produce must not be bigger than a certain size (for example, 10MB). Relying on 
a predefined maximum of records or doing the size check after the aggregation 
is not option.

So ideally, before an exchange (holding a single file record) gets aggregated 
by a Camel aggregator, we should have a way to verify that the new exchange 
will fit into the current aggregate. If not, the current aggregate should be 
completed. And only after that, the new exchange could be aggregated.

This could be easily achieved if Camel's aggregator would have a new optional 
attribute 'preCompletionPredicate'. This predicate could be have an 
interface/signature as follows:

boolean preComplete(Exchange aggregate, Exchange newExchange);

The predicate implementation would then be able to use information from both 
exchanges to know if the aggregate should be completed before aggregating the 
new exchange or not.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to