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.

Reply via email to