arthas在线热更新线上代码

2022-08-21  本文已影响0人  香港记者mo

1.下载:wget https://arthas.aliyun.com/arthas-boot.jar

2.运行arthas:java -jar arthas-boot.jar

3.开始更新操作:

# 反编译

$ jad --source-only com.jingmai.video.live.order.service.impl.ApplerPayServiceImpl > /tmp/ApplerPayServiceImpl.java

# 修改文件(不在arthas 的控制台,新开一个会话,在centos的控制台操作)

$ vim /tmp/ApplerPayServiceImpl.java  (在java文件中加入逻辑)

# 查找被修改的java类的加载的 ClassLoader

$ $ sc -d *ApplerPayServiceImpl | grep classLoaderHash

classLoaderHash  6bc28484

# 编译

$ mc -c 6bc28484 /tmp/ApplerPayServiceImpl.java -d /tmp

# 热更新

$ redefine /tmp/com/jingmai/video/live/order/service/ApplerPayServiceImpl.class

redefine success, size: 1

快速退出某个命令:Q或者Ctrl+C

退出Arthas: exit或者quit, 退出当前session,Arthas server还在目标进程中运行。

彻底退出: stop. 用完一定要stop哦,避免Arthas server依然运行占用系统资源。

上一篇 下一篇

猜你喜欢

热点阅读