JRebel - 重启终结者

JRebel - 重启终结者_第1张图片
JRebel

了解JRebel

JRebel - 重启终结者_第2张图片
JRebel的目的

从字面意义上看,JRebel称为Java Rebel - Java反叛者,看来有点“革命”的味道。
JRebel最大的作用:应用服务器不再需要重启,这也是每个开发者都希望实现的。
Java HotSpot VM已经内置了动态加载类的功能,但这只针对方法内部,一旦修改了方法名称,HotSpot 就不支持了。
JRebel可以实时监测代码变更,当开发者更改了Java程序代码,JRebel可以动态加载更改的资源,热部署变更的类,不需要全部重启/重新部署。

但是,如果配置文件发生了变更,那还是得重启Web容器的。
So,为什么早没人告诉我这个东西?

JRebel可以集成在以下Java IDE中:

JRebel - 重启终结者_第3张图片
Java IDE

支持以下App容器:

JRebel - 重启终结者_第4张图片
App Servers

支持以下常见框架:

JRebel - 重启终结者_第5张图片
Frameworks

支持以下Build工具:

JRebel - 重启终结者_第6张图片
Build Tools

Eclipse JRebel 快速上手

根据以下步骤配置你的Eclipse JRebel插件

安装

  • 打开Help > Eclipse Marketplace…
  • 搜索 JRebel,点击安装...
  • 根据提示,你可能需要重启Eclipse

激活

  • 下载JRebel 国产特色版,根据压缩包中的readme.txt操作并重启Eclipse

启动方式配置

  • 打开Help > JRebel Configuration > Startup.
  • 选择 Run via IDE.

项目配置

  • 打开Help > JRebel Configuration > Projects.
  • 在需要启用JRebel的项目中,勾选

    选项。

  • 这将会在项目中自动生成rebel.xml,并且会保持更新。


    JRebel - 重启终结者_第7张图片
    项目配置
  • 重新启动你的Jetty或者其他Web容器,你仍然可以使用Run或Debug方式。
  • 配置版本控制工具的Ignored Resources,增加rebel.xml,保证不要上传到svn资源库。
    JRebel - 重启终结者_第8张图片
    添加Ignored Resources

代码重载测试

在App Server启动之后,编辑任意Java文件,测试登录功能是否重载,例如:

private static void test() { 
    log.info("testj + 010100011110"); 
} 
public String intercept(ActionInvocation invocation) throws Exception { 
    test(); /* ...... 其他原有代码 ...... */ 
}

你可能感兴趣的:(JRebel - 重启终结者)