1.热部署中间件-arthas 阿里巴巴
用户文档:
https://alibaba.github.io/art...
2.应用
使用arthas提供的redefine命令来替换jvm中的class,而无需重启,从而实现热部署,当然就阿尔萨斯本身是提供 mc 命令,可以直接在内存中编译java文件,但是自己试了几次失败了,所以,需要先在本地编译相关的Java文件,然后再用 redefine命令来实现热部署。
3.步骤
1)本地通过
mvn clean compile -DskipTests
编译所需要的模块,获取相关class文件
2)找到涉及的class文件,通过
scp -P$remote_port $local_clazz_path $remote_user_name@$remote_host:$remote_path
上传相关的class文件
3)本地通过
ssh -p$remote_port $remote_user_name@$remote_host "sh $path/hot_deploy.sh $remote_clazz_path"
调用远程脚本实现热部署