Hello
I'm currently using CAMEL 2.0.0 with a route that dynamically splits and
routes a message to many destinations. I should be using a
recipientList() but since the version 2.0.0 doesn't allow any exception
handling I'm forced to using a construct like the following:
for (Map.Entry<String, Message> destination :
destinations.entrySet()) {
Producer expediteur =
exchange.getContext().getEndpoint(destination.getKey()).createProducer();
Exchange envoi = expediteur.createExchange();
envoi.setIn(destination.getValue());
expediteur.process(envoi);
}
This actually works, and the outer processor gets an exception if any
destination fails.
Here's the issue: in my original context, I had a tracer defined like
the following:
// Tracer, that will by default log on log4j and send to the
// fr.bull.cetebordeaux.traces JMS queue
Tracer tracer = new Tracer();
tracer.setFormatter(new CETEMessageFormatter());
tracer.setLogLevel(LoggingLevel.INFO);
tracer.setLogName("fr.bull.cetebordeaux.traces");
tracer.setDestinationUri("direct:traced");
this.from("direct:traced").process(new
DefaultTraceEventMessageToStringProcessor()).to("registry:Trace.Queue");
this.getContext().addInterceptStrategy(tracer);
That tracer is actually not active for the Exchange I've created
"manually". Is this an expected behaviour?
Cheers
--
S. Ali Tokmen
[email protected]
Office: +33 4 76 29 76 19
GSM: +33 66 43 00 555
Bull, Architect of an Open World TM
http://www.bull.com