Hi all, We currently have a problem where messages that can't be read properly get dropped instead of being put into a dlq. I have an errorHandler that works properly when the exception is thrown from within the route (from a processor for example), but refuses to kick in when it's a lower level error (i.e.: Before even getting into the route).
- I'm using camel-2.0-M1 - The route is setup through the Java dsl The route looks something like: errorHandler( deadLetterChannel(configuration.getDLQCompomentUrl()). maximumRedeliveries(configuration.getMaxRedeliveries()). log(RTSListenerRouteBuilder.class). retriesExhaustedLogLevel(LoggingLevel.ERROR). retryAttemptedLogLevel(LoggingLevel.TRACE) ); from(configuration.getSourceComponentUrl()). choice(). when(configuration.getMessageFilter()). process(configuration.getMessageEnricher()). to(configuration.getMessageEndpoint()). otherwise(). to(configuration.getInvalidMessageComponentUrl()); Pretty straightforward ... I've tried adding a few variants, most notable adding a global exception handler: onException(java.io.UTFDataFormatException.class).handled(false).to("jms.mydlq"); To no avail. Here's the stack trace I get: [WARN] [org.springframework.jms.listener.DefaultMessageListenerContainer] Execution of JMS message listener failed org.apache.camel.RuntimeCamelException: Failed to extract body due to: javax.jms.JMSException: java.io.UTFDataFormatException. Message: ActiveMQTextMessage {...l} at org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:104) at org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:150) at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:45) at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:52) at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:74) at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:65) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:72) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543) at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:881) at java.lang.Thread.run(Thread.java:613) Caused by: javax.jms.JMSException: java.io.UTFDataFormatException at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62) at org.apache.activemq.command.ActiveMQTextMessage.getText(ActiveMQTextMessage.java:91) at org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:93) ... 16 more Caused by: java.io.UTFDataFormatException at org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:372) at org.apache.activemq.command.ActiveMQTextMessage.getText(ActiveMQTextMessage.java:86) ... 17 more Thanks for any input. -- View this message in context: http://www.nabble.com/Dropped-jms-messages-on-java.io.UTFDataFormatException-tp24761350p24761350.html Sent from the Camel - Users mailing list archive at Nabble.com.