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"

调用远程脚本实现热部署