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 2022/09/14 07:09:33 UTC
[incubator-seatunnel] branch st-engine updated: [Engine] [ClassLoader] Add log class to default parent first class (#2722)
This is an automated email from the ASF dual-hosted git repository.
fanjia pushed a commit to branch st-engine
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/st-engine by this push:
new 7fbf1ad2b [Engine] [ClassLoader] Add log class to default parent first class (#2722)
7fbf1ad2b is described below
commit 7fbf1ad2bc39ea7caecf6bb3bd285943c12a88fb
Author: Hisoka <fa...@qq.com>
AuthorDate: Wed Sep 14 15:09:27 2022 +0800
[Engine] [ClassLoader] Add log class to default parent first class (#2722)
* [Engine] [ClassLoader] Add log class to default parent first class
* [Engine] [ClassLoader] Add log class to default parent first class
---
.../loader/SeatunnelChildFirstClassLoader.java | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
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 26ac5f1ad..1dc0cceb7 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
@@ -27,17 +27,26 @@ import java.util.function.Consumer;
public class SeatunnelChildFirstClassLoader extends SeatunnelBaseClassLoader {
private final String[] alwaysParentFirstPatterns;
- private static final String SEATUNNEL_CLASS_PATTERN = "org.apache.seatunnel.";
+ private static final String[] DEFAULT_PARENT_FIRST_PATTERNS = new String[]{
+ "java.",
+ "scala.",
+ "org.apache.seatunnel.",
+ "javax.annotation.",
+ "org.slf4j",
+ "org.apache.log4j",
+ "org.apache.logging",
+ "org.apache.commons.logging"
+ };
public SeatunnelChildFirstClassLoader(List<URL> urls) {
- this(urls, new String[]{SEATUNNEL_CLASS_PATTERN});
+ this(urls, DEFAULT_PARENT_FIRST_PATTERNS);
}
public SeatunnelChildFirstClassLoader(List<URL> urls, String[] alwaysParentFirstPatterns) {
this(urls.toArray(new URL[0]),
- SeatunnelChildFirstClassLoader.class.getClassLoader(),
- alwaysParentFirstPatterns,
- NOOP_EXCEPTION_HANDLER);
+ SeatunnelChildFirstClassLoader.class.getClassLoader(),
+ alwaysParentFirstPatterns,
+ NOOP_EXCEPTION_HANDLER);
}
public SeatunnelChildFirstClassLoader(
@@ -107,7 +116,7 @@ public class SeatunnelChildFirstClassLoader extends SeatunnelBaseClassLoader {
}
return new Enumeration<URL>() {
- Iterator<URL> iter = result.iterator();
+ final Iterator<URL> iter = result.iterator();
public boolean hasMoreElements() {
return iter.hasNext();