Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You are welcome to checkout the branch and help along with tuning.

Reduce Exchange copying

DONE in Camel 2.8
The first issue to address is to reduce the need for copying exchanges.

...

If IN is immutable it makes redelivery much easier as we just pass in IN yet again.
The code is in org.apache.camel.impl.ImmutableMessage.

Only when redelivering

DONE in Camel 2.8
A defensive copy of the Exchange is only needed when Camel does redelivery using its Error Handler features. So the goal is to move
the defensive copy from the Pipeline to org.apache.camel.processor.RedeliveryErrorHandler. As this error handler is the base for doing redelivery within Camel itself. Then the speed gain is when users do not use this error handler at all.

...

Only copy Message and not Exchange

WONT FIX
Another goal is to only copy the IN message as its the input to a processor, and where the processor can mutate it. So instead of copying the entire Exchange we can reduce it to only copying the IN message. This enforces the convention that Exchange properties will not be copied.

...