Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-7433

Please create a preCompletionPredicate for camel aggregator

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.10.7
    • 2.16.0
    • camel-core, eip
    • None
    • Unknown

    Description

      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.

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            sjavurek Susan Javurek
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: