You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Christian Müller (JIRA)" <ji...@apache.org> on 2012/06/28 23:27:44 UTC

[jira] [Closed] (CAMEL-5338) Exchange.copy() should make a deep copy, if the referenced objects (body, headers, properties) implements java.lang.Cloneable

     [ https://issues.apache.org/jira/browse/CAMEL-5338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Müller closed CAMEL-5338.
-----------------------------------

    Resolution: Won't Fix
    
> 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: 3.0.0
>
>
> 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