JavaRebel 2.0 开始支持 WAR/EAR 热部署及 Spring 集成

阅读数:1371 2009 年 4 月 13 日

话题:Java语言 & 开发

JavaRebel(对应用代码变更进行动态部署的 JVM 插件)的最新版开始支持 WAR/EAR 热部署及与 Spring 和 Struts 2 框架的集成。最近ZeroTurnaround开发小组发布了 JavaRebel 2.0 版。

该工具使用 Java agent(-javaagent)对 Web 应用中 Java 类的变更进行热部署以覆盖 Servlet 容器(JBossTomcat)默认的 WAR 部署行为(其默认行为会重新部署整个 Web 应用)。

JavaRebel 2.0 的新特性列举如下:

  • 对 Java 类方法体的变更。
  • 对类结构的变更,包括增加方法、属性、构造方法、改变 / 增加注解及改变接口。
  • 使用 JavaRebel插件集成SpringGuice框架,这样就可以动态更改应用配置了。我们可以使用JavaRebel SDK创建插件,同时它还集成了一些 MVC 框架,如WicketStripesTapestry 4Struts2,通过 open API 增加进一步的支持。
  • 打包与目录形式的部署:新版的 JavaRebel 支持以 WAR/EAR 文件形式部署应用,也支持按照目录结构的方式进行部署。如果修改了应用文件,那么所有的类和资源都会即时重载。该特性需要一个名为 rebel.xml 的新配置文件来告诉 JavaRebel 到哪里寻找更改后的类和资源。有一个Maven插件可用来在 IDE 外面进行该配置。

新版的 JavaRebel 还对性能、启动时间和反射 API 进行了一些改进,同时增强了测试套件以对产品功能进行验证,此外提供了对AspectJ装载期编织、IBM WebSphereGroovy动态语言的支持,而且 JavaRebel 还对Eclipse 平台提供了支持,这样当开发者修改源代码后,他们就可以直接加载改变后的插件而无需开启新的 Eclipse 实例了。

查看英文原文:JavaRebel 2.0 supports WAR/EAR hot-deployment and Spring integration