From e762851117ba9a9b4dae1b6d70463855ab8f78ba Mon Sep 17 00:00:00 2001 From: Qianqian Bu Date: Tue, 11 Aug 2020 16:08:21 +0800 Subject: [PATCH] for-CONJ-742-and-CONJ-807, add Driver.class.getClassLoader() can solve squirrel problem. But static introduce access denied --- .../jdbc/authentication/AuthenticationPluginLoader.java | 6 +++--- .../org/mariadb/jdbc/credential/CredentialPluginLoader.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/mariadb/jdbc/authentication/AuthenticationPluginLoader.java b/src/main/java/org/mariadb/jdbc/authentication/AuthenticationPluginLoader.java index f4b074d1b..823e523c0 100644 --- a/src/main/java/org/mariadb/jdbc/authentication/AuthenticationPluginLoader.java +++ b/src/main/java/org/mariadb/jdbc/authentication/AuthenticationPluginLoader.java @@ -28,9 +28,6 @@ public class AuthenticationPluginLoader { - private static ServiceLoader loader = - ServiceLoader.load(AuthenticationPlugin.class, Driver.class.getClassLoader()); - /** * Get authentication plugin from type String. Customs authentication plugin can be added * implementing AuthenticationPlugin and registering new type in resources services. @@ -44,6 +41,9 @@ public static AuthenticationPlugin get(String type) throws SQLException { return null; } + ServiceLoader loader = + ServiceLoader.load(AuthenticationPlugin.class, Driver.class.getClassLoader()); + for (AuthenticationPlugin implClass : loader) { if (type.equals(implClass.type())) { return implClass; diff --git a/src/main/java/org/mariadb/jdbc/credential/CredentialPluginLoader.java b/src/main/java/org/mariadb/jdbc/credential/CredentialPluginLoader.java index 42cbca23d..6dbb64217 100644 --- a/src/main/java/org/mariadb/jdbc/credential/CredentialPluginLoader.java +++ b/src/main/java/org/mariadb/jdbc/credential/CredentialPluginLoader.java @@ -31,9 +31,6 @@ */ public class CredentialPluginLoader { - private static ServiceLoader loader = - ServiceLoader.load(CredentialPlugin.class, Driver.class.getClassLoader()); - /** * Get current Identity plugin according to option `identityType`. * @@ -46,6 +43,9 @@ public static CredentialPlugin get(String type) throws SQLException { return null; } + ServiceLoader loader = + ServiceLoader.load(CredentialPlugin.class, Driver.class.getClassLoader()); + for (CredentialPlugin implClass : loader) { if (type.equals(implClass.type())) { return implClass;