And when using Spring you need to ensure the namespace is on all the
tags outside camelContext.

The one below dont have namespace, which it need to have
>>        <errorHandler id="errorHandler" type="DeadLetterChannel"
>>                deadLetterUri="direct:errorHandlerRoute" />


On Wed, Sep 29, 2010 at 11:17 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> Just use "direct:errorHandlerRoute" instead of ref:direct:errorHandlerRoute
>
> On Wed, Sep 29, 2010 at 10:49 AM,  <steve.hed...@barclayscapital.com> wrote:
>> Claus
>>
>> This is the relevant (more complete) extract of the spring config:
>>
>>
>>        <errorHandler id="loggingErrorHandler" type="LoggingErrorHandler"
>>                level="INFO" xmlns="http://camel.apache.org/schema/spring"; />
>>
>>        <errorHandler id="errorHandler" type="DeadLetterChannel"
>>                deadLetterUri="direct:errorHandlerRoute" />
>>
>>        <camelContext id="camel" 
>> xmlns:stp="http://www.barcap.com/gcd/stpengine/1-0";>
>>
>>                <template id="camelTemplate" />
>>
>>                <endpoint id="JMS_IN" uri="jms:queue:${input.queue}" />
>>                <endpoint id="JMS_OUT" uri="jms:queue:${output.queue}" />
>>                <endpoint id="JMS_ERROR" uri="jms:queue:${error.queue}" />
>>
>>
>>                <route>
>>                        <from ref="direct:errorHandlerRoute"/>
>>                        <log message="RAISED EXCEPTION: ${exception}" 
>> loggingLevel="ERROR"/>
>>                        <to ref="JMS_ERROR"/>
>>                </route>
>>
>>                <route id="compression-workflow" 
>> errorHandlerRef="errorHandler">
>>                        <from ref="JMS_IN" />
>>
>> ...
>>
>> Execution gives the following error:
>>
>> INFO: Apache Camel 2.5-SNAPSHOT (CamelContext: camel) is shutdown in 0.016 
>> seconds
>> Exception in thread "main" org.apache.camel.RuntimeCamelException: 
>> org.apache.camel.FailedToCreateRouteException: Failed to create route 
>> route1: Route[[From[ref:direct:errorHandlerRoute]] -> [Log[RAISED EX... 
>> because of No endpoint could be found for: ref:direct:errorHandlerRoute, 
>> please check your camel registry with id direct:errorHandlerRoute
>>        at 
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1133)
>>        at 
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
>>        at 
>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:236)
>>        at 
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>>        at 
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>>        at 
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>>        at 
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>>        at 
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>>        at 
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
>>        at 
>> com.barcap.gcdit.compressionworkflow.CompressionWorkflow.<init>(CompressionWorkflow.java:20)
>>        at 
>> com.barcap.gcdit.compressionworkflow.CompressionWorkflow.main(CompressionWorkflow.java:16)
>> Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create 
>> route route1: Route[[From[ref:direct:errorHandlerRoute]] -> [Log[RAISED 
>> EX... because of No endpoint could be found for: 
>> ref:direct:errorHandlerRoute, please check your camel registry with id 
>> direct:errorHandlerRoute
>>        at 
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:179)
>>        at 
>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:607)
>>
>>
>> My theory is that the errroHandler (which is defined outside the 
>> camelContext) cannot refer to a route (which is defined inside the 
>> camelContext).  Given that you said this was straightforward using the Java 
>> DSL, does this mean the Spring XML is weaker/deficient?  Or have I hust made 
>> some obvois blatant error?  (Latter is by far the most likely.)
>>
>>
>> Thanks
>>
>> Steven Hedges
>> IT - Credit Booking Derivs
>>
>>
>> -----Original Message-----
>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>> Sent: 28 September 2010 18:30
>> To: users@camel.apache.org
>> Subject: Re: Exception details
>>
>> You need to set the errorHandlerRef attribute on either the <camelContext> 
>> or the <route> in which the error handler should apply.
>>
>>
>>
>> On Tue, Sep 28, 2010 at 6:14 PM,  <steve.hed...@barclayscapital.com> wrote:
>>> Claus
>>>
>>> I am having difficulty with this as I am using the Spring XML config 
>>> approach.  The errorHandler is defined outside of the camelContext while 
>>> the routes are defied inside the camel context.  At the point at which the 
>>> errorHandler is instantiated it cannot see the error route.
>>>
>>> So I have:
>>>
>>>        <errorHandler id="errorHandler" type="DeadLetterChannel"
>>>                deadLetterUri="direct:errorHandlerRoute" />
>>>
>>> And
>>>
>>>        <camelContext id="camel"
>>> xmlns:stp="http://www.barcap.com/gcd/stpengine/1-0";>
>>> ...
>>>
>>>                <route id="errorHandlerRoute">
>>>
>>>                        <log message="RAISED EXCEPTION: ${exception}"
>>> loggingLevel="ERROR"/>
>>>                        <to ref="JMS_ERROR"/>
>>>                </route>
>>>
>>> ...
>>> />
>>>
>>> I'm guessing that this would not be a problem using the Java DSL.  But I 
>>> really don't want to use that approach.  (From a commercial point of view, 
>>> ease of writing code in no way outweighs the advantages of having XML 
>>> configs that can be read by support staff at 2am).
>>>
>>> Your continuing help is much appreciated
>>>
>>>
>>> Steven Hedges
>>> IT - Credit Booking Derivs
>>>
>>>
>>> -----Original Message-----
>>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>>> Sent: 28 September 2010 16:35
>>> To: users@camel.apache.org
>>> Subject: Re: Exception details
>>>
>>> On Tue, Sep 28, 2010 at 5:27 PM,  <steve.hed...@barclayscapital.com> wrote:
>>>> You realise I am going to have to get my 50 c of help now :-)
>>>>
>>>> Is it possible to use a route as an error handler?  I would like to be 
>>>> able to log an exception, raise an SMS and push the message onto a queue 
>>>> for later reprocessing.  We are trying to keep all of our config in the 
>>>> Spring XML.  (Config file releases are much simpler admin-wise than code 
>>>> releases).
>>>>
>>>
>>> Yeah use the DeadLetterChannel and set the endpoint to a
>>> direct:myRoute
>>>
>>> And then define a route with from("direct:myRoute") and its just like any 
>>> other route.
>>>
>>>
>>>>
>>>> Steven Hedges
>>>> IT - Credit Booking Derivs
>>>>
>>>> -----Original Message-----
>>>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>>>> Sent: 28 September 2010 16:13
>>>> To: users@camel.apache.org
>>>> Subject: Re: Exception details
>>>>
>>>> On Tue, Sep 28, 2010 at 3:46 PM,  <steve.hed...@barclayscapital.com> wrote:
>>>>> I've bought the book!
>>>>>
>>>>
>>>> Ah great. Then Jonathan and I earned 50 cent today.
>>>>
>>>> I hope the book will help and inspire you with your current endeavor with 
>>>> Camel. Good luck.
>>>>
>>>>>
>>>>>
>>>>> Steven Hedges
>>>>> IT - Credit Booking Derivs
>>>>>
>>>>> 10 The South Colonnade
>>>>> Canary Wharf,
>>>>> London E14 4PU,
>>>>> United Kingdom
>>>>>
>>>>> 02031344655
>>>>> x44655
>>>>>
>>>>> -----Original Message-----
>>>>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>>>>> Sent: 28 September 2010 14:33
>>>>> To: users@camel.apache.org
>>>>> Subject: Re: Exception details
>>>>>
>>>>> On Tue, Sep 28, 2010 at 3:26 PM,  <steve.hed...@barclayscapital.com> 
>>>>> wrote:
>>>>>> I'll get the book...
>>>>>>
>>>>>> From the info on that page, is it correct to assume that it is 
>>>>>> impossible to get at the exception info from the Spring XML config?  All 
>>>>>> I want to do is to log the actual exception to a file.
>>>>>>
>>>>>
>>>>> The simple language can access the caused exception using $exception
>>>>> See simple http://camel.apache.org/simple
>>>>>
>>>>> Something like this:
>>>>>
>>>>> onException(Exception.class).handled(true).transform(simple("Damn
>>>>> the problem is $exception.message and
>>>>> stacktrace\n$exception")).to("file:errors");
>>>>>
>>>>> But reading the entire chapter 5 about error handling will help you 
>>>>> understand some of the many features it provides.
>>>>> The wiki pages is a bit of a mess here and there for error handling as 
>>>>> its a hard topic to document well.
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> Steven Hedges
>>>>>> IT - Credit Booking Derivs
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>>>>>> Sent: 28 September 2010 14:09
>>>>>> To: users@camel.apache.org
>>>>>> Subject: Re: Exception details
>>>>>>
>>>>>> On Tue, Sep 28, 2010 at 2:49 PM,  <steve.hed...@barclayscapital.com> 
>>>>>> wrote:
>>>>>>> Hi
>>>>>>>
>>>>>>> This is probably very straightforward, but I've scoured the docs and 
>>>>>>> can't find an answer.
>>>>>>>
>>>>>>> Is it possible to get details of the actual exception that
>>>>>>> occurred in an error handler?  So far, I can see how to access the
>>>>>>> message that caused an error (using the $body variable) but not
>>>>>>> the exception itself
>>>>>>>
>>>>>>
>>>>>> Yeah if you got the Camel in Action book, see section 5.4.4
>>>>>>
>>>>>> And you can find also some details about it here
>>>>>> http://camel.apache.org/exception-clause.html
>>>>>>
>>>>>> see section _Using a processor as failure handler_
>>>>>>
>>>>>>> Thanks in advance
>>>>>>>
>>>>>>>
>>>>>>> Steven Hedges
>>>>>>> IT - Credit Booking Derivs
>>>>>>>
>>>>>>> 10 The South Colonnade
>>>>>>> Canary Wharf,
>>>>>>> London E14 4PU,
>>>>>>> United Kingdom
>>>>>>>
>>>>>>> 02031344655
>>>>>>> x44655
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>>
>>>>>>> This e-mail may contain information that is confidential, privileged or 
>>>>>>> otherwise protected from disclosure. If you are not an intended 
>>>>>>> recipient of this e-mail, do not duplicate or redistribute it by any 
>>>>>>> means. Please delete it and any attachments and notify the sender that 
>>>>>>> you have received it in error. Unless specifically indicated, this 
>>>>>>> e-mail is not an offer to buy or sell or a solicitation to buy or sell 
>>>>>>> any securities, investment products or other financial product or 
>>>>>>> service, an official confirmation of any transaction, or an official 
>>>>>>> statement of Barclays. Any views or opinions presented are solely those 
>>>>>>> of the author and do not necessarily represent those of Barclays. This 
>>>>>>> e-mail is subject to terms available at the following link: 
>>>>>>> www.barcap.com/emaildisclaimer. By messaging with Barclays you consent 
>>>>>>> to the foregoing.  Barclays Capital is the investment banking division 
>>>>>>> of Barclays Bank PLC, a company registered in England (number 1026167) 
>>>>>>> with its registered office at 1 Churchill Place, London, E14 5HP.  This 
>>>>>>> email may relate to or be sent from other members of the Barclays Group.
>>>>>>> _______________________________________________
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ Open
>>>>>> Source
>>>>>> Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ Open Source
>>>>> Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/ Open Source
>>>> Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/ Open Source
>>> Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/ Open Source 
>> Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to