From 46921e0e55e56642e47306ca152088a818551910 Mon Sep 17 00:00:00 2001 From: q7486828035 Date: Sun, 30 Oct 2022 14:15:14 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#2861=20XStreamInitializer=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89=E5=8A=A0=E8=BD=BD=E7=B1=BB?= =?UTF-8?q?=E7=9A=84=E6=94=AF=E6=8C=81=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/common/util/xml/XStreamInitializer.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamInitializer.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamInitializer.java index 334d75ee3..3fa91fa70 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamInitializer.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamInitializer.java @@ -11,7 +11,6 @@ import com.thoughtworks.xstream.io.xml.PrettyPrintWriter; import com.thoughtworks.xstream.io.xml.XppDriver; import com.thoughtworks.xstream.security.NoTypePermission; import com.thoughtworks.xstream.security.WildcardTypePermission; - import java.io.Writer; /** @@ -20,6 +19,13 @@ import java.io.Writer; * @author Daniel Qian */ public class XStreamInitializer { + + public static ClassLoader classLoader; + + public static void setClassLoader(ClassLoader classLoaderInfo) { + classLoader = classLoaderInfo; + } + private static final XppDriver XPP_DRIVER = new XppDriver() { @Override public HierarchicalStreamWriter createWriter(Writer out) { @@ -87,7 +93,10 @@ public class XStreamInitializer { xstream.addPermission(new WildcardTypePermission(new String[]{ "me.chanjar.weixin.**", "cn.binarywang.wx.**", "com.github.binarywang.**" })); - xstream.setClassLoader(Thread.currentThread().getContextClassLoader()); + if (null == classLoader) { + classLoader = Thread.currentThread().getContextClassLoader(); + } + xstream.setClassLoader(classLoader); return xstream; }