I came across the following code (in Camel v2.6): public DefaultUnitOfWork(Exchange exchange) { ... if(exchange.getIn().getClass().getSimpleName().equals("JmsMessage")) { originalInMessage = new DefaultMessage(); * originalInMessage.setBody(exchange.getIn().getBody());* } else { originalInMessage = exchange.getIn().copy(); } ... }
And I am wondering why such distinction is needed... Why are JMS messages a special case where only the message body (and not the headers) needs to be copied/cloned ? According to me, this is serious limitation when working with DeadLetterChannel. If you post web service requests to a JMS queue, then it means that you are going to lose very important information (eg the query string, the CamelHttpMethod, etc..), making thereby impossible to replay the requests that are stored in your DLQ. Is any fix available ? Or Any recommended workaround ? Kind regards, Bernard. -- View this message in context: http://camel.465427.n5.nabble.com/OriginalMsg-Why-is-only-the-body-cloned-for-JMS-messages-tp5675413.html Sent from the Camel Development mailing list archive at Nabble.com.