it should behave as you described...at first glance, not sure why you are seeing otherwise...
here is a unit test that I created a while back to validate this... public class UseOriginalMessageRouteTest extends CamelTestSupport { private static final Logger logger = Logger.getLogger(UseOriginalMessageRouteTest.class.getName()); protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); String url = "vm://test-broker?broker.persistent=false&broker.useJmx=false"; ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); camelContext.addComponent("activemq", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; } @EndpointInject(uri = "mock:mock") protected MockEndpoint mock; @Test public void testAMQWithBean() throws Exception { mock.setExpectedMessageCount(1); mock.expectedBodiesReceived("message"); template.sendBody("activemq:queue:order", "message"); Thread.sleep(100); mock.assertIsSatisfied(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override public void configure() throws Exception { ErrorHandlerBuilder eh = deadLetterChannel("direct:mock").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).useOriginalMessage(); from("activemq:queue:order") .errorHandler(eh) .log("request ${body}") .bean(ValidateOrder.class) .bean(TransformOrder.class) .throwException(new Exception("error")); from("direct:mock").log("mock ${body}").to("mock:mock"); } }; } public static class ValidateOrder { public String process(String body) { return body + ":validated"; } } public static class TransformOrder { public String process(String body) { return body + ":tranformed"; } } } devram wrote: > > Let's say an exception occurs at the Persister step, what ends up > happening is the POJO that was passed in to the Persister step is picked > up by the deadLetterHandler instead of the xml message which I want. How > can I configure my route to pass the original xml message received from > the jms end point to the deadletterhandler when exceptions occur? Based > on what I've read in the CamelInAction Book (chapter 5), Wiki page > (DeadLetterChannel & Error Handling section) & on this site; it would seem > all I needed to do was set useOriginalMessage to true, but that didn't > work...any help would be appreciated. > ----- Ben O'Day IT Consultant -http://consulting-notes.com -- View this message in context: http://camel.465427.n5.nabble.com/DeadLetterChannel-useOriginalMessage-Behaviour-tp4728373p4729251.html Sent from the Camel - Users mailing list archive at Nabble.com.