You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andy Fedotov (JIRA)" <ji...@apache.org> on 2015/07/12 19:30:04 UTC

[jira] [Commented] (CAMEL-8955) Processor for .pollEnrich incorrectly handles provided AggregationStrategy

    [ https://issues.apache.org/jira/browse/CAMEL-8955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623914#comment-14623914 ] 

Andy Fedotov commented on CAMEL-8955:
-------------------------------------

Thanks, Claus!
It is somewhat confusing, hope you clarify a little bit.

# AggregationStrategy that is used for Aggregator EIP and for PollEnrich EIP shares same Java interface, but behavior of it's implementation logic should be different? This looks like bad idea...
# How developers can distinguish them from each other?



> Processor for .pollEnrich incorrectly handles provided AggregationStrategy
> --------------------------------------------------------------------------
>
>                 Key: CAMEL-8955
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8955
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.14.3
>            Reporter: Andy Fedotov
>            Assignee: Claus Ibsen
>            Priority: Minor
>         Attachments: PollEnrichAggregationStrategyTest.java
>
>
> As it can be concluded from AggregationStrategy javadoc, and also from available implementations such as GroupedExchangeAggregationStrategy, it should be used in the following manner:
> {code:java}
> AggregationStrategy strategy = new GroupedExchangeAggregationStrategy();
> Exchange result = null;
> result = strategy.aggregate(result, exchange1);
> result = strategy.aggregate(result, exchange2);
> // ... and so on
> return result;
> {code}
> But PollEnricher do it in following manner:
> {code:java}
> AggregationStrategy strategy = new GroupedExchangeAggregationStrategy();
> Exchange result = strategy.aggregate(exchange1, exchange2);
> return result;
> {code}
> This leads to incorrect result returned after aggregation and lost exchanges.
> Also PollEnricher doesn't handle CompletionAwareAggregationStrategy and does not call onCompletion(). Consequently GroupedExchangeAggregationStrategy does not return aggregated result in the Exchange body.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)