jreloader动态重新加载class而不重启JVM
2012-05-31 09:53
99 查看
在Tomcat 中可以配置 reloadable="true" 做到类改变后,Tomcat 重新加载。其实这个过程大约也是当 Tomcat 发现有改变的类会重新启动一个新的应用程序重新加载所有的类来服务于新的请求,只是不需要你手动的去执行 shutdown.sh(.bat),再 startup.sh(.bat),但这样有个问题就是,修改一个class需要花费一定时间去让Tomcat重新自动加载部署,非常浪费时间。
频繁重启对于调试是一种煎熬,因此希望能找到一个工具能在类改动的时候不需要重新启动当前应用而是只加载修改过的class, 当然不希望重启 Tomcat了,能实现此功能的工具有 JavaRebel 和 jreloader,其中前者是收费的,后者是开源的.
jreloader的使用方法可以查看下载ZIP包中的INSTALL.txt,在Eclipse额的Tomcat插件中的使用方法如下。
1.进到Tomcat 配置的Overview 页,点击 Open launch configuration, 弹出 Edit Configuration 窗口,再到 Arguments 标签页中,VM arguments: 输入框中加上:
-noverify -javaagent:E:\jreloader-0.4\jreloader.jar -Djreloader.dirs=E:\eclipse3.7\workspace\CIATest\WebContent\WEB-INF\classes,E:\eclipse3.7\workspace\CIAServer0515\WebContent\WEB-INF\classes
2. 把Tomcat 里该应用的reloadable 设为false,阻止Tomcat 去管理,而完全由jreloader 去承担类的热加载。
3. 启动Tomcat,修改一个类,由jreloader去加载修改的类,会看到日志:
E:\eclipse3.7\workspace\CIATest\WebContent\WEB-INF\classes\cia\test\transtest\action\TransPageAction.class
[JReloader:INFO ] Reloading class cia.test.transtest.action.TransPageAction 阅读更多
频繁重启对于调试是一种煎熬,因此希望能找到一个工具能在类改动的时候不需要重新启动当前应用而是只加载修改过的class, 当然不希望重启 Tomcat了,能实现此功能的工具有 JavaRebel 和 jreloader,其中前者是收费的,后者是开源的.
jreloader的使用方法可以查看下载ZIP包中的INSTALL.txt,在Eclipse额的Tomcat插件中的使用方法如下。
1.进到Tomcat 配置的Overview 页,点击 Open launch configuration, 弹出 Edit Configuration 窗口,再到 Arguments 标签页中,VM arguments: 输入框中加上:
-noverify -javaagent:E:\jreloader-0.4\jreloader.jar -Djreloader.dirs=E:\eclipse3.7\workspace\CIATest\WebContent\WEB-INF\classes,E:\eclipse3.7\workspace\CIAServer0515\WebContent\WEB-INF\classes
2. 把Tomcat 里该应用的reloadable 设为false,阻止Tomcat 去管理,而完全由jreloader 去承担类的热加载。
3. 启动Tomcat,修改一个类,由jreloader去加载修改的类,会看到日志:
E:\eclipse3.7\workspace\CIATest\WebContent\WEB-INF\classes\cia\test\transtest\action\TransPageAction.class
[JReloader:INFO ] Reloading class cia.test.transtest.action.TransPageAction 阅读更多
相关文章推荐
- IT忍者神龟之用 jreloader 动态重新加载改变的类而不用重启 JVM
- Java虚拟机(JVM)的动态类加载(Class Loading)
- Java_动态重新加载Class机制
- Tomcat动态加载class的Devloader工具包(又称为免重启的开发插件)
- Java_动态重新加载Class总结
- 动态重新加载Class机制之代码测试
- 动态重新加载Class机制之代码测试
- 在Eclipse中配置动态加载Class的JVM插件--JavaRebel
- Java虚拟机(JVM)的动态类加载(Class Loading)
- 在Eclipse中配置动态加载Class的JVM插件--JavaRebel
- 【原创】不重启was server重新加载应用class文件
- 动态重新加载Class机制之代码测试
- java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象
- Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)
- 关于不重启Tomcat自动加载改变的class文件
- bootstrap中的动态加载出来的图片轮播中的li标签中的class="active"的动态添加移除
- JVM加载class文件的原理机制
- ClassLoader类加载机制&&JVM内存管理
- JVM——类加载(Class Loading)
- JVM加载class文件的原理机制