On 5 February 2013 18:39, Henryk Konsek <hekon...@gmail.com> wrote: > Hi Alex, > >> When myBean.slip() throws SpecificException, If I print in.body in >> handleSpecificException(), I can see that it is not null. >> >> If I print it again in handleFailed() it is now null. > > Actually I can't reproduce this problem neither under Camel 2.9.5 nor > under Camel 2.10.1. > > Here is my minimal example trying to reproduce your behavior: > > ______________ > public class ErrorHandler { > > public void exception(Exchange exchange) { > System.out.println("Exception: " + exchange.getIn()); > } > > public void completion(Exchange exchange) { > System.out.println("Completion: " + exchange.getIn()); > } > > public void router() { > throw new RuntimeException(); > } > > } > > CamelContext context = new DefaultCamelContext(); > context.addRoutes(new RouteBuilder() { > @Override > public void configure() throws Exception { > onCompletion().onFailureOnly().bean(new ErrorHandler(), "completion"); > from("seda:start") > .onException(Exception.class) > .bean(new ErrorHandler(), "exception") > .handled(false) > .end() > .dynamicRouter(bean(ErrorHandler.class, "router")); > } > }); > context.start(); > context.createProducerTemplate().sendBody("seda:start","msg"); > ______________ > > The output produced by it indicates that both handlers work fine: > > ______________ > Exception: Message: msg > Completion: Message: msg > ______________ > > If you would be so kind and create minimal Maven project with test > case demonstrating the issue, I could debug it and tell you what is > the problem.
Hi Henryk, Thanks for your help. I agree that your example doesn't exhibit the problem - I'm sorry for not working through a simple example myself before sending to the mailing list. When I have time I will try to recreate and share on this list. Alex