Exceptions thrown from converters are not correctly handled
-----------------------------------------------------------
Key: CAMEL-1144
URL:
https://issues.apache.org/activemq/browse/CAMEL-1144 Project: Apache Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 1.5.0
Reporter: Martin Gilday
Priority: Critical
Related nabble:
http://www.nabble.com/Handling-converter-failure-td20830148s22882.htmlWhen an exception is thrown from a @Converter it is not correctly handled by onException. The handler is receiving a RuntimeCamelException and not checking the cause when determining the best handler.
{code}
/////Converter
@Converter
public static LocalDateTime toLocalDateTime(final Object localDateTime)
{
System.out.println("Converting to local date time");
throw new IllegalArgumentException("Bad data");
}
/////Routes
Routes routes = new RouteBuilder() {
@Override
public void configure() throws Exception {
onException(IllegalArgumentException.class).handled(true).to("mock:exception");
from("direct:test").convertBodyTo(LocalDateTime.class).to("mock:end");
}
};
/////Test
MockEndpoint endpoint = (MockEndpoint)
camelContext.getEndpoint("mock:end");
endpoint.expectedMessageCount(0);
MockEndpoint endpoint2 = (MockEndpoint)
camelContext.getEndpoint("mock:exception");
endpoint2.expectedMessageCount(1);
camelContext.createProducerTemplate().sendBody("direct:test", "test");
endpoint.assertIsSatisfied();
endpoint2.assertIsSatisfied();
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.