camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CAMEL-1188) Exceptions thrown from when - methodCall are not caught by onException
Date Tue, 16 Dec 2008 15:25:05 GMT

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


Mime
View raw message