Christian Müller created CAMEL-5338:
---------------------------------------
Summary: Exchange.copy() should make a deep copy, if the
referenced objects (body, headers, properties) implements java.lang.Cloneable
Key: CAMEL-5338
URL: https://issues.apache.org/jira/browse/CAMEL-5338
Project: Camel
Issue Type: Improvement
Affects Versions: 2.9.2
Reporter: Christian Müller
Fix For: 2.9.3, 2.10.1, 2.11
We run into an issue where an exchange with a custom pojo as payload was sent
to an multicast and changed in two different sub-routes at the same time
(connected by using the direct protocol). The reason is that the
Exchange.copy() method "only" creates shallow copies of the body (it's the same
for the exchange properties and message headers). I think it's a good
improvement to check whether the object implements java.lang.Cloneable and in
this case create a deep copy of the object.
[1]
https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
[2]
https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira