对classloader有研究的兄台请赐教
最近被classloader整郁闷了……
目的:实现扩展接口的所有业务子类的动态加载,在系统运行时避免频繁重起
现已实现对单一类的动态加载:
就是extends ClassLoader,然后自定义了一个方法
public Object getInstance(String className)
在最后define一下class就可以了
现在的问题是:
如果某一业务子类在静态初始化块中调用了自制的ClassLoader来加载指定类,将不能实现静态加载(不在同一命名空间里……)
我也试过
AppLoader loader = new AppLoader();
Thread.currentThread().setContextClassLoader(loader);
但结果依旧……好象对静态初始化块,JVM会默认使用系统的类装载器;
不知是否我创建ClassLoader时有问题……有兄台做过这类东西么?