我需要从xml配置文件里面读取,需要执行的类名,然后动态加载该类,执行特定方法
while (ReadFromXml)
{
Class c = Class.forName("Process");
Interface interface1 = (Interface)c.NewIntance();
interface1.MyMothed();
}主程序是7*24不间断执行的我的问题是
我可能会在主程序运行一段时间后,新建一个执行类ProcessNew,然后我会吧该类的jar包,拷贝到java的classpath路径下面,再通过配置文件进行配置
这样的话,我不需要对主程序进行任何修改,就可以实现新的模块,但问题是,以上的步骤处理完之后,我必须把主程序重新启动,主程序才能找到ProcessNew,否则Class.forName("ProcessNew")无效,有没有方法,使主程序不需重启就动态加载成功
while (ReadFromXml)
{
Class c = Class.forName("Process");
Interface interface1 = (Interface)c.NewIntance();
interface1.MyMothed();
}主程序是7*24不间断执行的我的问题是
我可能会在主程序运行一段时间后,新建一个执行类ProcessNew,然后我会吧该类的jar包,拷贝到java的classpath路径下面,再通过配置文件进行配置
这样的话,我不需要对主程序进行任何修改,就可以实现新的模块,但问题是,以上的步骤处理完之后,我必须把主程序重新启动,主程序才能找到ProcessNew,否则Class.forName("ProcessNew")无效,有没有方法,使主程序不需重启就动态加载成功
解决方案 »
- 对字符串的一点疑问,谢谢
- hashtable泛型问题
- 关于JVM的64bit和32bit经典问题,大家讨论下,最好有人试验过
- SUN的网站上面下载不到Java(tm) Communication API 那位给发一个,马上结贴
- 请问如何在java程序中调用dos命令
- 如何在eclipse中新建 jsp
- 用applet链接数据库.....?
- float f = 1.0 和 short s = 9的编译问题
- javabean ,bean,ejb怎么样区别?
- scjp一道题!
- . class 文件 导回jar 包
- jbx2005 图形界面在design下设计时控件一切换面板就看不到了,只有少数几个能正常看到,运行正常
------
不可能吧,我觉的Class.forName(str)。你这里的str是从XML中读出来的,为什么要重起?
ReadFromXml的时候,要是XML不在,把线程挂起,所以你覆盖XML文件的时候先删除再拷贝。我没实验过 ,不过我觉的不用重起。
另外动态加载的类是不能放在classpath中,否则java会要求父加载器来加载该类,不会依据你的想法达到动态加载目的的