diff --git a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java index 6ff9f6ec69..7474824446 100644 --- a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java +++ b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java @@ -308,13 +308,13 @@ public abstract class BaseJdbcExecutor implements JdbcExecutor { try { ClassLoader parent = getClass().getClassLoader(); ClassLoader classLoader = UdfUtils.getClassLoader(config.getJdbcDriverUrl(), parent); + Thread.currentThread().setContextClassLoader(classLoader); hikariDataSource = JdbcDataSource.getDataSource().getSource(hikariDataSourceKey); if (hikariDataSource == null) { synchronized (hikariDataSourceLock) { hikariDataSource = JdbcDataSource.getDataSource().getSource(hikariDataSourceKey); if (hikariDataSource == null) { long start = System.currentTimeMillis(); - Thread.currentThread().setContextClassLoader(classLoader); HikariDataSource ds = new HikariDataSource(); ds.setDriverClassName(config.getJdbcDriverClass()); ds.setJdbcUrl(config.getJdbcUrl()); diff --git a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java index 9faaadad15..7d464e2369 100644 --- a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java +++ b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/DefaultJdbcExecutor.java @@ -352,13 +352,13 @@ public class DefaultJdbcExecutor { } else { ClassLoader parent = getClass().getClassLoader(); ClassLoader classLoader = UdfUtils.getClassLoader(config.getJdbcDriverUrl(), parent); + Thread.currentThread().setContextClassLoader(classLoader); hikariDataSource = JdbcDataSource.getDataSource().getSource(hikariDataSourceKey); if (hikariDataSource == null) { synchronized (hikariDataSourceLock) { hikariDataSource = JdbcDataSource.getDataSource().getSource(hikariDataSourceKey); if (hikariDataSource == null) { long start = System.currentTimeMillis(); - Thread.currentThread().setContextClassLoader(classLoader); HikariDataSource ds = new HikariDataSource(); ds.setDriverClassName(config.getJdbcDriverClass()); ds.setJdbcUrl(config.getJdbcUrl());