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

kamelet: aggregation kamelet not wired properly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.9.0
    • Fix Version/s: 3.10.0
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      Assuming we have a kamelet named aggregate that define an aggregation step, like:

      - from: 
          uri: "kamelet:source"
          steps: 
            - aggregate: 
                correlation-expression: 
                  simple: "${header.Kind}"
                strategy-ref: "myAggregatorStrategy"
                completion-size: "{{count}}"
                steps: 
                  - to: "log:aggregate"
                  - to: "kamelet:sink"
      

      And a route using such kameelt:

      - from: 
          uri: "timer:tick"
          steps: 
            - set-header: 
                name: "Kind"
                constant: "simple"
            - set-body: 
                simple: "${exchangeProperty.CamelTimerCounter}"
            - to: "kamelet:aggregate?count=5"
            - to: "log:info"
      

      When this code is executed, the_ log:info_ endpoint will log each individual exchange produced by the timer but not the aggregated one which is instead logged by the log:aggregate endpoint (part of the aggregate kamelet).

      This happen because the route engine does not wire the kamelet:sink endpoint of the aggregate kamemelt but the route output.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                lb Luca Burgazzoli
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: