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