Hi

The error handling in the route DSL only applies for messages.
eg when an Exchange has been created by the consumer and successfully
passed on to the Camel routing engine.
At that point the routing error handler applies.

The Camel in Action book covers this in section 5.1.2

You have to deal with this error directly in your consumer.



On Fri, Mar 4, 2011 at 2:42 PM, Martin Samuelsson
<camel.apache....@martsam.se> wrote:
> Scenario: We have built a custom samba-component backed by jcifs that
> extends GenericFileComponent. The Consumer extends GenericFileConsumer,
> meaning it's also a ScheduledPollConsumer. The Consumer is in this case
> using a custom Strategy that extends DefaultPollingConsumerPollStrategy. The
> Strategy's rollback-method will under some circumstances throw an Exception
> (e.g. when the share is unavailable or the provided credentials are
> incorrect)
>
> The RouteBuilder's configure-method looks something like this:
>
> public void configure() {
>    //...
>    errorHandler(loggingErrorHandler("Handling FAILED"));
>
>    onException(Exception.class)
>            .log(LoggingLevel.INFO, "Caught an exception.");
>
>     from("ourCustomerEndpointUri")
>                .log(LoggingLevel.INFO, "Processing ${file:name}...")
>                .to("anotherCustomEndpointUri");
>    //...
> }
>
> Question: How can we handle this Exception?  We need a way to "catch" this
> Exception and invoke another route (at this time to produce some custom
> logging). The above code doesn't produce anything in the log. I believe this
> have something to do with the Exception being thrown before the Exchange is
> created.
>
> Thanks in advance,
>
> Martin
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to