Arthas 服务器热更

      发现一个比较好的热更工具,阿里提供的Arthas ,官网地址:https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=arthas-advanced,官方稳定也比较清楚,这里我做一个个人的备忘,也是分享。

   

1、下载

wget https://arthas.aliyun.com/arthas-boot.jar

2、启动

java -jar arthas-boot.jar、再选择对应的java进程

Arthas 服务器热更

3、找到对应类的加载类:sc -d *ClubModel* | grep classLoaderHash

Arthas 服务器热更

 

4、通过指定类加载器编译新的java文件:

mc -c <classLoaderHash> /tmp/UserController.java -d /tmp

classLoaderHash 参数就是上面的类加载器的hash码

Arthas 服务器热更

 

5、使用redefine命令重新加载新编译好的class文件

Arthas 服务器热更

6、完成后试下实验效果。

 

注意点 :不能更改方法名和参数类型、内部类、更改属性都不可以。重启后 更新的class 失效。

Arthas 服务器热更