On Tue, Oct 2, 2012 at 11:06 PM, SteveSmall <st...@xfact.com> wrote: > Claus, > > The "direct:routeA" route has a dynamic router (java bean) in it which > directs to another route based on the exchange context: > > <camel:route id="xyz"> > <camel:from uri="direct:routeA"/> > <camel:inOnly uri="bean:dynamicBeanRouter"/> > </camel:route> > > This dynamic router simply constructs "direct://routeName" where "routeName" > is dynamically calculated. >
And you are using the recipient list, as your "dynamic router" ? > When an exception is encountered in the route that the dynamic router sends > to, the doCatch block previously mentioned does not catch it. Instead, the > Exchange.REDELIVERY_EXHAUSTED property gets set which seems to kill the > routing from having it send to "routeB". > > If I remove the dynamic router, the catch block works just fine. This is not > an option for me though. > > In 2.8.3 the Exchange.REDELIVERY_EXHAUSTED property is not being set even > when using the dynamic router. > > I seem to have tracked it down to the MulticastProcessor in 2.10.1 with the > following method on line 746: > > > > The "exhaust" property is true is both versions. However in camel 2.8.3, the > "original.getException()" call returns null. In 2.10.1 it returns the > exception thrown in the dynamic router's destination. > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Issue-with-doTry-doCatch-not-routing-correctly-tp5720325p5720397.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen