Thanks, Henryk, I really appreciate your answer. 

I can see that the FilterProcessor do
exchange.setProperty(Exchange.FILTER_MATCHED, matches);
and I also see that the GroupedExchangeAggregationStrategy puts the Exchange
in it's list of answer.properties. 

I also set headers/properties myself (in bold below).

But I am still not able to access any of those headers in the
"filterMatchCheckRouter" as stated below. The headers are just not there in
the exchange sent to filterMatchCheckRouter.

Could Spring mess up things? Or am I missing out on something here? Is my
config wrong?

ProcessorDefinition processorDefinition =
from(incomingQueue).routeId("ProducerRoute").shutdownRoute(ShutdownRoute.Defer).shutdownRunningTask(ShutdownRunningTask.CompleteAllTasks).convertBodyTo(Document.class);
MulticastDefinition multicastDefinition = processorDefinition.multicast(*new
GroupedExchangeAggregationStrategy()*);
for (Producer producer : producers) { 
  multicastDefinition 
  .filter().method(producer, "filter")  
  *.process(new Processor() {
    @Override
    public void process(Exchange exchange) throws Exception {    
      exchange.getIn().setHeader("KEY1", "value1");
      exchange.setProperty("KEY2", "value2");
    }}) *
  .bean(producer, "createEvent") 
  .to(EndPointUri.INCOMING_EVENT_QUEUE); 
} 
multicastDefinition.to("direct:filterMatchCheckRouter");


--
View this message in context: 
http://camel.465427.n5.nabble.com/copy-of-Exchange-during-Multicast-tp5714477p5714528.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to