Camel HTTP Producer is throwing an exception when it encounters a connection timeout. However instead of preserving the original message it is treating it processing the exception output. When connected to a redelivery meachanism, this results in an exception message being sent as input to the HTTP Consumer. The older versions of Camel behaved differently on read timeout. In Camel 1.x, in a read timeout, the Exception is thrown and the input message to the producer is passed through the pipeline. Now there is a difference: An exception is thrown and the output of the HTTP Producer is passed through the pipeline.
Need to study why and what changed since Camel 1.x and ensure that the above does not happen.
For more details, please check out the following nabble entry