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();