[CAMEL-8635] XStream no longer supports dynamic CL updates
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/23b975a8 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/23b975a8 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/23b975a8 Branch: refs/heads/master Commit: 23b975a8f3d2d8d458d30a9ddb37e9963731689c Parents: bd39620 Author: Thomas Diesler <thomas.dies...@jboss.com> Authored: Tue Apr 14 16:35:46 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Apr 14 16:42:52 2015 +0200 ---------------------------------------------------------------------- .../camel/dataformat/xstream/AbstractXStreamWrapper.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/23b975a8/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java ---------------------------------------------------------------------- diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java index b4e6423..0f206fc 100644 --- a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java +++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java @@ -28,6 +28,7 @@ import javax.xml.stream.XMLStreamException; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; +import com.thoughtworks.xstream.core.util.CompositeClassLoader; import com.thoughtworks.xstream.io.HierarchicalStreamDriver; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; @@ -111,8 +112,9 @@ public abstract class AbstractXStreamWrapper implements DataFormat { xstream.setMode(getModeFromString(mode)); } - if (classLoader != null) { - xstream.setClassLoader(classLoader); + ClassLoader xstreamLoader = xstream.getClassLoader(); + if (classLoader != null && xstreamLoader instanceof CompositeClassLoader) { + ((CompositeClassLoader) xstreamLoader).add(classLoader); } try {