[ 
https://issues.apache.org/jira/browse/CAMEL-8246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Pimlott updated CAMEL-8246:
---------------------------------
    Description: 
ZipAggregationStrategy does not preserve any headers from the aggregated 
exchanges.  This makes it difficult to do something like name the output zip 
file based on the correlation key:

{code:xml}
    <from uri="direct:input"/>
    <aggregate strategyRef="zipStrategy" eagerCheckCompletion="true">
      <correlationExpression>
        <simple>${header[batchId]}</simple>
      </correlationExpression>
      <completionSize>
        <simple>${header[batchSize]}</simple>
      </completionSize>
      <setHeader headerName="CamelFileName">
        <simple>batch-${header[batchId]}.zip</simple>
      </setHeader>
      <to uri="direct:output"/>
    </aggregate>
{code}

This behavior is inconsistent with other existing AggregationStrategies, 
including AggregationStrategyBeanAdapter, FlexibleAggregationStrategy, 
UseLatestAggregationStrategy, and UseOriginalAggregationStrategy, which all use 
the first exchange received (or a copy of it) to initialize the aggregated 
exchange, hence preserving headers and properties, including those which may 
used to determine the correlation of related exchanges.
 

  was:
ZipAggregationStrategy does not preserve any headers from the aggregated 
exchanges.  This makes it difficult to do something like name the output zip 
file based on the correlation key:

{code:xml}
    <from uri="direct:input"/>
    <aggregate strategyRef="zipStrategy" eagerCheckCompletion="true">
      <correlationExpression>
        <simple>${header[batchId]}</simple>
      </correlationExpression>
      <completionSize>
        <simple>${header[batchSize]}</simple>
      </completionSize>
      <setHeader headerName="CamelFileName">
        <simple>batch-${header[batchId]}.zip</simple>
      </setHeader>
      <to uri="direct:output"/>
    </aggregate>
{code}

This behavior is inconsistent with other existing AggregationStrategies, 
including AggregationStrategyBeanAdapter, FlexibleAggregationStrategy, 
UseLatestAggregationStrategy, and UseOriginalAggregationStrategy, which all use 
a complete copy of the first exchange received when initializing the aggregated 
exchange.

 


> ZipAggregationStrategy
> ----------------------
>
>                 Key: CAMEL-8246
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8246
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.14.0
>            Reporter: Chris Pimlott
>              Labels: aggregate, zip
>
> ZipAggregationStrategy does not preserve any headers from the aggregated 
> exchanges.  This makes it difficult to do something like name the output zip 
> file based on the correlation key:
> {code:xml}
>     <from uri="direct:input"/>
>     <aggregate strategyRef="zipStrategy" eagerCheckCompletion="true">
>       <correlationExpression>
>         <simple>${header[batchId]}</simple>
>       </correlationExpression>
>       <completionSize>
>         <simple>${header[batchSize]}</simple>
>       </completionSize>
>       <setHeader headerName="CamelFileName">
>         <simple>batch-${header[batchId]}.zip</simple>
>       </setHeader>
>       <to uri="direct:output"/>
>     </aggregate>
> {code}
> This behavior is inconsistent with other existing AggregationStrategies, 
> including AggregationStrategyBeanAdapter, FlexibleAggregationStrategy, 
> UseLatestAggregationStrategy, and UseOriginalAggregationStrategy, which all 
> use the first exchange received (or a copy of it) to initialize the 
> aggregated exchange, hence preserving headers and properties, including those 
> which may used to determine the correlation of related exchanges.
>  



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

Reply via email to