createCacheClassLoader

This commit is contained in:
redkale
2024-10-12 08:33:14 +08:00
parent b6accc97f6
commit 3a532617a1
2 changed files with 7 additions and 8 deletions

View File

@@ -143,16 +143,11 @@ class AppConfig {
if (cacheClasses == null) {
this.classLoader = new RedkaleClassLoader(currClassLoader);
} else {
this.classLoader = new RedkaleClassLoader.RedkaleCacheClassLoader(currClassLoader, cacheClasses);
this.classLoader = new RedkaleClassLoader.createCacheClassLoader(currClassLoader, cacheClasses);
}
Thread.currentThread().setContextClassLoader(this.classLoader);
}
if (compileMode || this.classLoader instanceof RedkaleClassLoader.RedkaleCacheClassLoader) {
this.serverClassLoader = this.classLoader;
} else {
// this.serverClassLoader = RedkaleClassLoader.currentClassLoader(this.classLoader);
this.serverClassLoader = this.classLoader;
}
this.serverClassLoader = this.classLoader;
}
/** 初始化home、confDir、localAddress等信息 */

View File

@@ -107,6 +107,10 @@ public class RedkaleClassLoader extends URLClassLoader {
return new RedkaleClassLoader(loader);
}
public static RedkaleClassLoader createCacheClassLoader(ClassLoader parent, Set<String> classes) {
return new RedkaleCacheClassLoader(parent, classes);
}
public static URI getConfResourceAsURI(String confURI, String file) {
if (file.startsWith("http:") || file.startsWith("https:") || file.startsWith("ftp:")) {
return URI.create(file);
@@ -623,7 +627,7 @@ public class RedkaleClassLoader extends URLClassLoader {
return set.toArray(new URI[set.size()]);
}
public static class RedkaleCacheClassLoader extends RedkaleClassLoader {
protected static class RedkaleCacheClassLoader extends RedkaleClassLoader {
protected final Set<String> classes;