Hi everybody,

Noticed that the same multicast can behave differently when inside a
splitter. 

Consider the route:

    <route>
      <from uri="direct:start"/>

      <setHeader headerName="initial">
        <constant>initValue</constant>
      </setHeader>

      <split strategyRef="someCustomStrategy">
        <tokenize token=","/>
        <multicast>
          <setHeader headerName="Multicast1">
            <constant>Value1</constant>
          </setHeader>
          <setHeader headerName="Multicast2">
            <constant>Value2</constant>
          </setHeader>
        </multicast>
        <to uri="mock:result"/>
      </split>
    </route>


The messages in the mock:result endpoint will contain initial and Multicast2
headers along with the body from the split. This is the expected behavior
since the multicast is supposed to use UseLatestAggregationStrategy by
default.
Now if we just remove the startegyRef parameter from the splitter then
multicast will return the original message that entered the split, thus it
will have only initial header and the body before the split.
This happens because the default Aggregation Strategy used in splitter
(UseOriginalAggregationStrategy) is saved in the split exchange and then
later used by the multicast for aggregation.

Can this considered as a bug or it is an expected behavior to have different
results coming out of multicast depending on the Aggregation Strategy
defined for outer splitter?
 
Thanks.
-- SlavaC

-- 
View this message in context: 
http://camel.465427.n5.nabble.com/Multicast-inside-splitter-tp3261288p3261288.html
Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.

Reply via email to