Omar Al-Safi Thank you for the clarification. it works as you suggested!
On Wed, Aug 28, 2019 at 11:31 AM Omar Al-Safi [via Camel] < ml+s465427n5841999...@n5.nabble.com> wrote: > If I understood you correctly, you want to know from where this Exchange > which holds the exception, have you tried something like > `exchange.getFromEndpoint` or `exchange.getFromRouteId`? Which as I > understood should gives from which endpoint this exchange has been > originated from. However, I think `Exchange.FAILURE_ENDPOINT` will contain > the information about the last time Camel has sent the exchange to, hence > I > think you would see this information after a `to` route. However I am not > 100% sure though. > > On Wed, 28 Aug 2019 at 07:38, Wang Yan <[hidden email] > <http:///user/SendEmail.jtp?type=node&node=5841999&i=0>> wrote: > > > Hello all, > > > > > > OnException block , the TechnicalException will be caught, this > > exception could come > > > > from Route A or Route B , my question is , Is it possible for on > Exception > > block > > > > to figure out where the TechnicalException is originated from ? for > > example from which Route or from which Endpoint? > > > > I tried to use exchange.getProperty(Exchange.FAILURE_ENDPOINT) or > > exchange.getProperty(Exchange.FAILURE_ROUTE_ID) > > > > but they both print out null value > > > > Any hints or suggestions are more than welcome! > > > > > > > > > > onException(TechnicalException.class) > > .log(LoggingLevel.ERROR, "TechnicalException caught > > globally ") > > .redeliveryDelay(3000) > > .maximumRedeliveries(3) > > //Exchange.FAILURE_ROUTE_ID > > .onRedelivery(exchange -> { > > LOG.info("onRedelivery {} , failed endpoint id {} > > exception type {}", > > exchange.getIn().getHeader(Exchange.REDELIVERY_COUNTER) > > ,exchange.getProperty(Exchange.FAILURE_ENDPOINT) , > > exchange.getProperty(Exchange.EXCEPTION_CAUGHT).getClass()); > > }) > > .handled(true) > > .to("activemq:queue:mydeadletterqueue") > > .log(LoggingLevel.ERROR, "technical exception send to > > mydeadletterqueue") > > .end(); > > > > > > route A > > > > route B > > > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > https://camel.465427.n5.nabble.com/OnException-block-to-figured-out-where-the-Exception-is-originated-from-tp5841975p5841999.html > To unsubscribe from OnException block to figured out where the Exception > is originated from, click here > <https://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5841975&code=d3lhbmJveEBnbWFpbC5jb218NTg0MTk3NXwxMTU1MzAzODM=> > . > NAML > <https://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> >