You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by fa...@apache.org on 2023/03/30 02:51:23 UTC
[incubator-seatunnel] branch dev updated: [Improve] [Zeta] Change ClassLoader To Improve the SDK compatibility of the client (#4447)
This is an automated email from the ASF dual-hosted git repository.
fanjia pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 3523d5b42 [Improve] [Zeta] Change ClassLoader To Improve the SDK compatibility of the client (#4447)
3523d5b42 is described below
commit 3523d5b42307ceec885b0f6dae9d64425fe11e9d
Author: Hisoka <fa...@qq.com>
AuthorDate: Thu Mar 30 10:51:17 2023 +0800
[Improve] [Zeta] Change ClassLoader To Improve the SDK compatibility of the client (#4447)
---
.../engine/common/loader/SeaTunnelChildFirstClassLoader.java | 8 ++++++++
.../seatunnel/engine/core/parse/MultipleTableJobConfigParser.java | 4 +++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/loader/SeaTunnelChildFirstClassLoader.java b/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/loader/SeaTunnelChildFirstClassLoader.java
index 6addac274..b4b3d06d8 100644
--- a/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/loader/SeaTunnelChildFirstClassLoader.java
+++ b/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/loader/SeaTunnelChildFirstClassLoader.java
@@ -56,6 +56,14 @@ public class SeaTunnelChildFirstClassLoader extends SeaTunnelBaseClassLoader {
NOOP_EXCEPTION_HANDLER);
}
+ public SeaTunnelChildFirstClassLoader(List<URL> urls, ClassLoader parent) {
+ this(
+ urls.toArray(new URL[0]),
+ parent,
+ DEFAULT_PARENT_FIRST_PATTERNS,
+ NOOP_EXCEPTION_HANDLER);
+ }
+
public SeaTunnelChildFirstClassLoader(
URL[] urls,
ClassLoader parent,
diff --git a/seatunnel-engine/seatunnel-engine-core/src/main/java/org/apache/seatunnel/engine/core/parse/MultipleTableJobConfigParser.java b/seatunnel-engine/seatunnel-engine-core/src/main/java/org/apache/seatunnel/engine/core/parse/MultipleTableJobConfigParser.java
index fdb5d6ec7..b5d5eb209 100644
--- a/seatunnel-engine/seatunnel-engine-core/src/main/java/org/apache/seatunnel/engine/core/parse/MultipleTableJobConfigParser.java
+++ b/seatunnel-engine/seatunnel-engine-core/src/main/java/org/apache/seatunnel/engine/core/parse/MultipleTableJobConfigParser.java
@@ -135,7 +135,9 @@ public class MultipleTableJobConfigParser {
if (!commonPluginJars.isEmpty()) {
connectorJars.addAll(commonPluginJars);
}
- ClassLoader classLoader = new SeaTunnelChildFirstClassLoader(connectorJars);
+ ClassLoader classLoader =
+ new SeaTunnelChildFirstClassLoader(
+ connectorJars, Thread.currentThread().getContextClassLoader());
Thread.currentThread().setContextClassLoader(classLoader);
List<? extends Config> sourceConfigs =
TypesafeConfigUtils.getConfigList(