Exceptions thrown from when - methodCall are not caught by onException
----------------------------------------------------------------------

                 Key: CAMEL-1188
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1188
             Project: Apache Camel
          Issue Type: Bug
    Affects Versions: 1.5.0
            Reporter: Rikard Eriksen


See the route below. beanOne throws ExceptionOneException and beanTwo throws 
ExceptionTwoException. ExceptionOneException it caught and handled as it's 
supposed to.  But ExceptionTwoException goes all the way through, without  
being caught and routed to the exceptionTwoQueue. Is it the when tag or the 
methodCall tag that is the cause of this?

<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>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to