使用TravaOpenJDK提升开发效率

前言

作为Java开发人员,我有时会羡慕使用PHP或JavaScirpt等解释型语言在运行时及时看到代码的更改结果。使用Java,总是需要通过源码重新生成字节码,然后通过重新启动才能安全地更新。并且所有开发人员都知道启动后恢复所需状态需要时间过程很乏味。

因此,我也一直在寻找Java热部署方案,以我们平常使用的SpringBoot来说,实现热部署主要有以下几种方案:

SpringBoot Devtools/Springloaded

只支持方法体,新增/更改方法、类会重启整个项目

JRebel

优点:安装简单插件丰富
缺点:耗资源,收费昂贵不开源

HotswapAgent+DCEVM

优点:开源、资源消耗低

缺点:安装麻烦,支持的插件还在持续完善中

今天给大家介绍的是第三种方式的增强方案,基于Dcevm和集成了HotswapAgent的TravaOpenJDK。

特性

普通的OpenJDK HotSwap仅限于内部代码更改,而TravaOpenJDK允许以下代码更改:

● 添加/删除/修改类和字段
● 添加/删除/修改放法,添加/删除/修改方法注解
● 添加/删除/修改类,包括匿名类,能够正确地处理匿名类
● 添加/删除类的静态成员,重新初始化静态成员
● 添加/删除枚举值
● 刷新框架和应用程序服务器设置

配置

以JDK11为例,下载对应Windows/linux/macos二进制文件
https://github.com/TravaOpenJDK/trava-jdk-11-dcevm/releases

解压缩到用户指定目录
在这里插入图片描述

打开Idea > Project Structure > SDKs,配置下载的JDK版本

在这里插入图片描述

然后打开Run/Debug Configuration,VM Option添加运行参数 -XX:HotswapAgent=fatjar,指定触发方式
在这里插入图片描述

验证

启动项目,从控制台日志可以看出HotSwapAgent生效了
在这里插入图片描述

新建/修改Mapping url路径,修改,重新自动热部署完成,可以看到能够及时生效
在这里插入图片描述

大功告成~

更多特性请访问官方网站:http://hotswapagent.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值