[
https://issues.apache.org/activemq/browse/CAMEL-1188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-1188:
-------------------------------
Description:
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?
{code}
<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>
{code}
was:
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>
> 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
> Components: camel-core, camel-spring
> Affects Versions: 1.5.0
> Reporter: Rikard Eriksen
> Assignee: Claus Ibsen
> Fix For: 1.5.1, 2.0.0
>
>
> 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?
> {code}
> <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>
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.