热部署(Hotswap)和 JRebel
热部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。
目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。
JRebel是一个工具,可以监控磁盘上实际已编译的 class 文件,无论何时只要有文件被更新就更新类,从而实现了对方法体修改的热部署。
关于Hotsswap和JRebel的原理,可以参考 HotSwap和JRebel原理
MyEclipse 安装 JRebel 过程
1. JRebel 插件安装
点击 Help -> Instal from site ,输入地址 http://update.zeroturnaround.com/update-site ,选择相应的版本点击下一步即可安装。
2. 激活 JRebel
安装完成后MyEclipse会重启,重启完成后点击 Help -> JRebel -> Activition 即可进入激活页面
上面地址填写 http://idea.yujunyi.com:8081/69972f4a-2911-46eb-87ed-7bbb086e4f38 ,下面邮箱随便填一个,就可以完成激活。(这是我自己搭建的 JRebel License Server,有兴趣的同学可以查看 JRebel 激活地址及自建 JRebel License Server)
激活完成后,点击 Help -> JRebel -> Configuration 进入设置页面,开启离线模式。(当然不开启离线模式也是可以使用的,只是为了防止 Jrebel License Server 被和谐,建议使用离线模式。离线模式有效期大概为半年,失效后需要重新激活。)
3. 启用 JRebel
在项目上右击,选择 Enalbe JRebel 即可对该项目启用 JRebel 。启用后,正常启动 wildfly 或 tomcat 即可实现真正的热部署。