You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "MF (JIRA)" <ji...@apache.org> on 2013/09/27 19:02:02 UTC

[jira] [Created] (CAMEL-6793) Camel 2.12 shows unexpected warning "Cannot determine current route from Exchange"

MF created CAMEL-6793:
-------------------------

             Summary: Camel 2.12 shows unexpected warning "Cannot determine current route from Exchange"
                 Key: CAMEL-6793
                 URL: https://issues.apache.org/jira/browse/CAMEL-6793
             Project: Camel
          Issue Type: Bug
    Affects Versions: 2.12.1
         Environment: Windows
            Reporter: MF


Since upgrading from 2.10.6 to 2.12.1 Camel logs the following warning:
{code}
18:47:10,278 [WARN ] DefaultErrorHandler       - Cannot determine current route from Exchange with id: ID-xyz-0-12, will fallback and use first error handler.
{code}

It looks like the "splitter" is causing the problem. If the "<split>" is disabled in the route, then the warning disappears!

Here's the example route for reproduction:
{code}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
	       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

	<import resource="classpath:META-INF/cxf/cxf.xml"/>

	<!-- custom exceptions -->
	<bean id="demoIllegalStateException" class="java.lang.IllegalStateException">
		<constructor-arg index="0" value="Forced Exception" type="java.lang.String"/>
	</bean>

	<!-- this is the camel route which proxy the web service and forward it to the real web service -->
	<camelContext id="camelCtx" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="defaultErrorHandler" trace="false"
	              messageHistory="true">

		<errorHandler id="defaultErrorHandler" type="DefaultErrorHandler">
			<redeliveryPolicy logExhausted="true"/>
		</errorHandler>

		<errorHandler id="noErrorHandler" type="NoErrorHandler"/>

		<endpoint id="myTimer" uri="timer://myTimer?period=5s"/>
		<route id="Start" autoStartup="true" trace="false" errorHandlerRef="defaultErrorHandler"
		       startupOrder="900">
			<from uri="ref:myTimer"/>
			<setBody>
				<simple>Some Test Message</simple>
			</setBody>
			<to uri="direct:Process"/>
		</route>

		<route id="Process" autoStartup="true" trace="false" errorHandlerRef="defaultErrorHandler"
		       startupOrder="800">
			<from uri="direct:Process"/>

			<onException>
				<exception>java.lang.ArithmeticException</exception>
				<handled>
					<constant>true</constant>
				</handled>
				<to uri="direct:HandleException"/>
			</onException>

			<!-- now delegate the processing of the body with all the selected transfers -->
			<to uri="direct:Process2"/>
		</route>


		<route id="Process2" autoStartup="true" trace="false" errorHandlerRef="defaultErrorHandler"
		       startupOrder="30">
			<from uri="direct:Process2"/>

			<onException>
				<exception>java.lang.IllegalStateException</exception>
				<handled>
					<constant>true</constant>
				</handled>
				<to uri="direct:HandleException"/>
			</onException>

			<split stopOnException="true" streaming="false" parallelProcessing="false">
				<simple>${body}</simple>

				<throwException ref="demoIllegalStateException"/>
			</split>
		</route>

		<route id="HandleException" autoStartup="true" trace="false"
		       errorHandlerRef="noErrorHandler"
		       startupOrder="13">
			<from uri="direct:HandleException"/>

			<log loggingLevel="INFO" message="[${property.LogPrefix}] EXCEPTION message: ${exception}"/>
			<log loggingLevel="DEBUG" message="[${property.LogPrefix}] EXCEPTION stacktrace: ${exception.stacktrace}"/>
			<stop/>
		</route>
	</camelContext>
</beans>
{code}

Is it a bug or do I have to configure something new? 2.10.6 and previous versions did not show this kind of behavior (meaning: did not log this warning)!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira