camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: catch Exception thrown by ScheduledPollConsumer
Date Fri, 04 Mar 2011 14:01:12 GMT

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
<> 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
Twitter: davsclaus
Author of Camel in Action:

View raw message