Hi all, I am working on error handling across multiple routes.
client -> route A -> route B exchange pattern = InOut I want to process exceptions thrown in route B, by (1) setting a result field in my message, (2) returning from route B, and then (3) continuing processing in route A I can already do this using doTry/doCatch in route B, but I want to do it using a global onException. Unfortunately, it seems that when onException finishes processing a message, the message exchange stops, and therefore exits *both* routes. Specifically, if I set handled=true from inside my onException, then the pipeline exits from each route in turn; but if I don't set it, then the error handler mechanism kicks in, and this also exits from each route in turn. The attached test case illustrates the problem. Please review it and tell me: how can I edit the onException and/or route definition (see file /src/test/resources/com/test/service/processors/ExceptionProcessorTest-context.xml) to make the unit test pass? http://camel.465427.n5.nabble.com/file/n4754324/onExceptionTest.tar onExceptionTest.tar Regards, Paul -- View this message in context: http://camel.465427.n5.nabble.com/onException-exits-from-all-routes-tp4754324p4754324.html Sent from the Camel - Users mailing list archive at Nabble.com.
