Hi I have logged a ticket to let the route id be accessible for end users https://issues.apache.org/jira/browse/CAMEL-5959
On Fri, Jan 11, 2013 at 7:44 PM, ncolomer <ncolo...@octo.com> wrote: > Hi Camel community, > > I am facing a problem using the Camel's deadLetterChannel. > > I have several Routes that process messages and delegate to a Route-scoped > errorHandler when something bad happen (HTTP endpoint timeout for instance). > > What I try to achieve is to implement a generic Route as deadLetterChannel > to handle all kind of Route failure and act accordingly (actually, persist > object on the filesystem and send an email). > > The problem is that filename and mail subject are different, depending on > the Route the failure was triggered from. I need to implement some logic to > retrieve the failure context (i.e. from which Route it was triggered) and > set some headers accordingly. > > Is there a possibility to retrieve failed Route (instance / ID or URI) via > the Exchange object (Processor) ? If it's not the case, can we set headers > in the Route specific errorHandler that will be used in the generic > deadLetterChannel (worse as Route depends on caller) ? Do you see a better > way ? > > My Java code currently looks like that : > > MyRoute route definition : > > from(MyRoute.URI).routeId(MyRoute.ID) > > .errorHandler(deadLetterChannel(DeadLetterRoute.URI).useOriginalMessage() > > .maximumRedeliveries(maximumRedeliveries).redeliveryDelay(redeliveryDelay) > .log(MyRoute.FAILURE).logHandled(true) > .retriesExhaustedLogLevel(LoggingLevel.ERROR).logStackTrace(true) > > .retryAttemptedLogLevel(LoggingLevel.WARN).logRetryStackTrace(false)) > // ... Route's stuff ... > > DeadLetterRoute route definition : > > from(DeadLetterRoute.URI).routeId(DeadLetterRoute.ID) > .process(new DeadLetterProcessor()) // Retrieves failed route and set > headers accordingly > .setHeader("from", simple("${properties:mail.from}")) > .setHeader("to", simple("${properties:mail.to}")) > .to("file:{{error.directory}}") > .to("smtp:{{mail.server.url}}"); > > > Thanks in advance for your help, > Nicolas > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Retrieve-failed-Route-from-deadLetterChannel-tp5725420.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