[fix](multi-catalog)fix jdbc loader (#22814)
This commit is contained in:
@ -25,8 +25,8 @@ public class JniScannerClassLoader extends URLClassLoader {
|
||||
|
||||
private final String scannerName;
|
||||
|
||||
public JniScannerClassLoader(String scannerName, List<URL> urls) {
|
||||
super(urls.toArray(new URL[0]), ClassLoader.getSystemClassLoader());
|
||||
public JniScannerClassLoader(String scannerName, List<URL> urls, ClassLoader parent) {
|
||||
super(urls.toArray(new URL[0]), parent);
|
||||
this.scannerName = scannerName;
|
||||
}
|
||||
|
||||
|
||||
@ -52,7 +52,8 @@ public class ScannerLoader {
|
||||
File library = new File(basePath, "/lib/java_extensions/");
|
||||
// TODO: add thread pool to load each scanner
|
||||
listFiles(library).stream().filter(File::isDirectory).forEach(sd -> {
|
||||
JniScannerClassLoader classLoader = new JniScannerClassLoader(sd.getName(), buildClassPath(sd));
|
||||
JniScannerClassLoader classLoader = new JniScannerClassLoader(sd.getName(), buildClassPath(sd),
|
||||
this.getClass().getClassLoader());
|
||||
try (ThreadClassLoaderContext ignored = new ThreadClassLoaderContext(classLoader)) {
|
||||
loadJarClassFromDir(sd, classLoader);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user