CAMEL-8829: Do a defensive copy of the message when creating correlated copy, to eavoid any ConcurrentModificationException such as routing to logs using concurrent threads or if using wire tap EIP etc.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f6aa990c Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f6aa990c Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f6aa990c Branch: refs/heads/master Commit: f6aa990c00cfbe8a70bd36cbad69f7268f891fde Parents: 6d6d1b7 Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Jun 4 11:11:45 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Jun 4 11:11:45 2015 +0200 ---------------------------------------------------------------------- .../src/main/scala/org/apache/camel/scala/RichExchange.scala | 2 ++ 1 file changed, 2 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/f6aa990c/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala ---------------------------------------------------------------------- diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala index 3cb9262..e908e39 100644 --- a/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala +++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala @@ -127,6 +127,8 @@ class RichExchange(val exchange : Exchange) extends Exchange { def copy = new RichExchange(exchange.copy) + def copy(safeCopy: Boolean) = new RichExchange(exchange.copy(safeCopy)) + def addOnCompletion(onCompletion: Synchronization) { exchange.addOnCompletion(onCompletion) } def containsOnCompletion(onCompletion: Synchronization) = exchange.containsOnCompletion(onCompletion)