JavaRebel 1.0 正式版发布,为应用服务器侦测类的变化[翻译,来自TheServerSide]

ZeroTurnaround 宣布 JavaRebel 1.0 最终正式版发布。JavaRebel 通过即时重加载有改变的类,从而避免了应用服务器的重新部署。此次版本与第一个公开发行版加入了以下改进:

·简化了安装。现在 Java 5 中安装 JavaRebel 只需要加上 "-noverify -javaagent:javarebel.jar" 到命令行中。

·优化了性能。 此次版本关注了启动时间和后台 CPU 的使用率。一些用户报称启动应用服务器的时间比用之前版本快了 2-3 倍。

·改善了兼容性。支持所有主流的容器和框架,在其他的之上也可能工作的很好。

·扩展了对 Java 1.4 的支持。像 BEA Weblogic 8.X、Oracle OC 4J 9.x/10.X 和 Tomcat 4.x 也被支持。

·支持使用反射。新加到类中的方法对可用 Java 5+ 反射 API 访问到。

·修改了许多 Bug。此次版本更为稳定,对于所支持系统提供即拆即用。

观看 屏幕演示(大约 5 分钟),浏览 特性列表 或到 ZeroTurnaround.com  站点下载来试用一下。JavaRebel 是个商业软件,可免费试用 21 天,正式版本要支付 149 美金。

ZeroTurnaround 还为 JavaRebel 附上了一小段 生动的广告。在广告中,公爵(或类似公爵?) 尝试部署一个 "Hello World" 应用到不知名的应用服务器中 - 有必要这么做,是因为不想让人看了说是诋毁了某个应用服务器. 他想尽了办法去打发时间,嗯,有可能是对工作不安全的办法,这个广告还是相当滑稽的。

[译者后记] 我们在用 Tomcat 进行调试的时候,一般都是改了方法体之后,Tomcat 无需重启立即就能看到效果;然而在有些时候却是必须重启 Tomcat 才行的,比如增减了类属性,改变了所继承的父类等。Sun JVM HotSwap 可以支持一定程度类的热加载,如果借助于 JavaRebel 则在开发当中几乎能完全不重启应用,并能在控制台下观察到重加载了什么类。关于 Sun JVM HotSwap 与 JavaRebel 支持何种情况类的热加载比较请见 http://www.zeroturnaround.com/javarebel/features/.当然你改了配置文件是不得不再重启一把的。

本文链接 https://yanbin.blog/javarebel-1-0-java-hot-deploy/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

6 Comments
Inline Feedbacks
View all comments
弹弓
16 years ago

用了一下发现对于osgi 的应用即使指定 classloader也不行。

隔叶黄莺
16 years ago

eclipse 中启用禁用插件后也都必须重启才生效啊

隔叶黄莺
16 years ago

刚刚在 MyEclipse 中启动 Tomcat 5 时用了一下,其实不好用。用法是要在 Eclipse 配置相应的 Tomcat(如 Tomcat 5.x),选择 Launch,点右边的 Optional 下的 Create Launch Coonfiguration 按钮,打开窗口中,选择 Arguments 标签,在 VM arguments 中最后面加上 -noverify -javaagent:c:\javarebel-1.0.3\javarebel.jar (注意包的位置),然后点 Apply(不过,好奇怪,即使用 Apply 了,下次进来看看又没有了),Debug。

这时候,你就启动了 Tomcat,猛然发现,其实加了这个对于调试没带来一点便利性,它只是放肆的在其中修改字节码,你看到你加的断点跑到像 LoginAction$$M$a2b3bbfa 上去了,没法调试了,说倒底还只是能用在正式运行的系统中,方便中途随意更新代码,不重启应用,看来意义还不是特别大。

dd
dd
15 years ago

一群SHA BI

根本认识不到这个对真正的coder可以带来多大的影响

隔叶黄莺
15 years ago

对于部署人员来说可以带来很多的影响,对于 coder,debug 人员好处并不多。

dd
dd
15 years ago

最新的2.0-RC1我已经破解了

无须任何LIC

要的密我

zhangthe9@gmail.com