现在把设置了Tomcat6的动态装载.但是每次已有东西更新,服务器就自动重新装载整个应用.现在想实现一个功能就是如果只改一个.class文件,就只重新装载这一个class文件,而不是重新装载整个应用. <Context path="/myJob" docBase="${catalina.home}/webapps/myJob"  debug="0" reloadable="true" crossContext="true"> 
</Context> 我这儿这样设置了.Tomcat6源码中就有一个modified()方法在监测是否在Tomcat下有文件更新,只要更新就重新装载了整个应用.我现在不要他装载整个应用,如果只改了那个文件,就值重新装载那个文件就行了.(因为项目太大了,重新装载整个应用会导致很多的问题.)请求大侠们解决.谢谢了.急.

解决方案 »

  1.   

    这个需要JavaRebel支持,应用服务器本身只有重载整个
      

  2.   

    tomcat6好像只是装载当前修改的类吧(Eclipse+tomcat开发)
    如果实在不行的话,建议你换一下其他的服务器
      

  3.   

    我自己写了一个类继承了Urlclassloader,我通过modified()方法判断当前那些类有修改了,如果哪个类修改了我就重新调用装在类的那个方法重新装载,我是用自己写的这个类去装载的。我在里面调试了一下,装载是装载进去了。但是在程序里面访问时,就还是不行。还是原先哪一个类。如果说直接调用webappclassloader里面的方法。就会报错。说这个类已经装载了。我再加二十分,期待高手解答。