背景
SpringBoot内嵌tomcat使得我们开发时候启动项目更加便捷,不在是explose方式部署在外部tomcat容器中,导致修改代码不能够重新加载到内存中而需要重启项目,每改一次需要重启一次;随着SpringBoot项目逐渐增大,启动项目的时间也越来越长,当碰到紧急修复bug需要修复的时候,本身就紧张又很容易犯低级错误,一不小心就重启个好几回,这种漫长等待项目启动完成的过程是非常痛苦的。
解决神器-热部署
JRebel插件
优点:安装简单插件丰富
缺点:耗资源、收费(可注册账户激活或破解激活)不开源
有一段时间尝试了下JRebel,后面发现一个问题,在IDEA中JRebel插件会开启Build project automatically,然后手动取消勾选后,隔一会还是会被勾选上,因为这个勾选起来后会另外启动一个jvm占用内存和资源,导致电脑经常卡死,所以后面就卸载了。如下图所示:
HotswapAgent+DCEVM
优点:开源、资源消耗低
缺点:支持的插件还在持续完善中
HotswapAgent+DCEVM实现热部署
下载补丁DCEVM补丁安装文件
下载地址ÿ