You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/06/01 02:34:07 UTC

[shardingsphere] branch master updated: Optimize the use of classloader in ClasspathDriverURLProvider (#25949)

This is an automated email from the ASF dual-hosted git repository.

panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new cfa39511694 Optimize the use of classloader in ClasspathDriverURLProvider (#25949)
cfa39511694 is described below

commit cfa39511694a0bb3ff2f26276e1c798996fbb08d
Author: jiangML <10...@qq.com>
AuthorDate: Thu Jun 1 10:33:59 2023 +0800

    Optimize the use of classloader in ClasspathDriverURLProvider (#25949)
---
 .../jdbc/core/driver/spi/ClasspathDriverURLProvider.java  | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/spi/ClasspathDriverURLProvider.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/spi/ClasspathDriverURLProvider.java
index 64c00abd937..68f6f6be0cd 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/spi/ClasspathDriverURLProvider.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/spi/ClasspathDriverURLProvider.java
@@ -27,7 +27,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
 
 /**
  * Classpath driver URL provider.
@@ -62,16 +61,10 @@ public final class ClasspathDriverURLProvider implements ShardingSphereDriverURL
     }
     
     private InputStream getResourceAsStream(final String resource) {
-        for (ClassLoader each : Arrays.asList(Thread.currentThread().getContextClassLoader(), getClass().getClassLoader(), ClassLoader.getSystemClassLoader())) {
-            if (null != each) {
-                InputStream result = each.getResourceAsStream(resource);
-                if (null == result) {
-                    result = each.getResourceAsStream("/" + resource);
-                }
-                if (null != result) {
-                    return result;
-                }
-            }
+        InputStream result = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
+        result = null == result ? Thread.currentThread().getContextClassLoader().getResourceAsStream("/" + resource) : result;
+        if (null != result) {
+            return result;
         }
         throw new IllegalArgumentException(String.format("Can not find configuration file `%s`.", resource));
     }