[
https://issues.apache.org/jira/browse/CAMEL-5338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290026#comment-13290026
]
Claus Ibsen commented on CAMEL-5338:
------------------------------------
There is an onPrepare option on the EIPs such as multicast you should use for
this.
http://camel.apache.org/multicast
I would suggest *not* to change anything in the current logic in the 2.x
lifetime.
Also Cloneable is a bit of an anti-pattern as cloning objects in a generic way
is hard.
> 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