Hi

No it's not supposed to work like that.
Could you move the onException before the from clause?

So its like this
>                <route>
>                        <onException>
...
>                        <from ref="myMainQueue" />

And try it. It could be a difference if the onException is defined
outside the from.

I think I need to take a look to see what happens when you have the
choice .. otherwise. There could be a flaw there.

Could you create a ticket in JIRA with this issue?
http://activemq.apache.org/camel/support.html
there is a link from the support page



On Tue, Dec 16, 2008 at 2:26 PM, Fush <rikard.erik...@gmail.com> wrote:
>
> Hi!
> See the route below. beanOne throws ExceptionOneException and beanTwo throws
> ExceptionTwoException. It seems that the only exception that is actually
> being caught and handled by an onException clause, is the
> ExceptionOneException. The ExceptionTwoException goes all the way through,
> without being caught and routet to the exceptionTwoQueue as it's supposed
> to. Can anyone here confirm this behavior? And is it supposed to work like
> that?
>
>        <camelContext id="MyCamelContext
> xmlns="http://activemq.apache.org/camel/schema/spring";>
>                <endpoint id="myMainQueue" 
> uri="activemq:${my.project.queue.main}"/>
>                <endpoint id="exceptionOneQueue"
> uri="activemq:${my.project.queue.exceptionOne}"/>
>                <endpoint id="exceptionTwoQueue"
> uri="activemq:${my.project.queue.exceptionTwo}"/
>                <route>
>                        <from ref="myMainQueue" />
>                        <onException>
>                                
> <exception>my.project.queue.ExceptionOneException</exception>
>                                <redeliveryPolicy maximumRedeliveries="0" />
>                                <handled>
>                                        <constant>true</constant>
>                                </handled>
>                                <to ref="exceptionOneQueue"/>
>                        </onException>
>                        <onException>
>                                
> <exception>my.project.queue.ExceptionTwoException</exception>
>                                <redeliveryPolicy maximumRedeliveries="0" />
>                                <handled>
>                                        <constant>true</constant>
>                                </handled>
>                                <to ref="exceptionTwoQueue"/>
>                        </onException>
>                        <onException>
>                                <exception>java.lang.Exception</exception>
>                                <redeliveryPolicy maximumRedeliveries="0" />
>                                <handled>
>                                        <constant>false</constant>
>                                </handled>
>                        </onException>
>                        <unmarshal>
>                                <jaxb prettyPrint="true" 
> contextPath="my.project.domain" />
>                        </unmarshal>
>                        <choice>
>                                <when>
>                                        <methodCall bean="beanTwo" 
> method="methodFromBeanTwo"/>
>                                </when>
>                                <otherwise>
>                                        <to 
> uri="bean:beanOne?methodName=methodFromBeanOne" />
>                                </otherwise>
>                        </choice>
>                </route>
> </camelContext>
> --
> View this message in context: 
> http://www.nabble.com/Will-onException-handle-exceptions-thrown-from-%27when%27-clause--tp21033017s22882p21033017.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 

/Claus Ibsen
Apache Camel Committer
Blog: http://davsclaus.blogspot.com/

Reply via email to