Hi all,

In our Camel context we have an aggregator like this:

<route id="aggregate-observations">
<from uri="activemq:observation.processed.queue"/>
<aggregate strategyRef="observationAggregator"
aggregationRepositoryRef="observationRepository">
<correlationExpression>
<header>transactionGUID</header>
</correlationExpression>
<completionPredicate>
<simple>${header.CamelSplitComplete} == 'true'</simple>
</completionPredicate>
<to uri="activemq:observation.feedback.queue"/>
</aggregate>
</route>


The referenced observationRepository is a Hazelcast implmentation.

We deploy this in Karaf (more specific in JBoss Fuse 6.0) and want to
cluster this using Fuse Fabric.
Should we be worried that different instances of this aggregator can pick
up messages?
The specific case I'm worried about is that one instance picks up the last
message (the one where CamelSplitComplete is true) and then completes the
aggregation while another instance is still busy processing an earlier
message.

I know we could use meesage grouping (
http://activemq.apache.org/message-groups.html) to ensure that all messages
for a given group are consumed by the same aggregator instance but I'm not
sure that we need it here.

Any insight or comment is welcome.

Cheers,
Tom

Reply via email to