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>
>

Reply via email to