camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Fedotov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-8955) Processor for .pollEnrich incorrectly handles provided AggregationStrategy
Date Sun, 12 Jul 2015 17:30:04 GMT

    [ 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)

Mime
View raw message