arthas热部署测试-是否会中断已进入应用的用户线程

启动一个sprint-boot工程,增加controller,增加方法。

    @RequestMapping("/testRefineClass")
    public String testRefineClass() throws Exception{        
        Thread.currentThread().sleep(60000);        
        return "Hello";
    }

1.启动arthars  java -jar arthas-boot.jar 

2.选择PID

3.jad --source-only com.xxh.MyArthasTest > d:/tmp/MyArthasTest.java

4.查找classLoaderHash  sc -d *MyArthasTest | grep classLoaderHash  例如:4e0e2f2a

5.mc进行编译: mc -c 4e0e2f2a d:/tmp/MyArthasTest.java  例如输出为:D:/myWorkspace/TestArthars/com/xxh/MyArthasTest.class

6.热加载:根据mc输出的路径 redefine  D:/myWorkspace/TestArthars/com/xxh/MyArthasTest.class 

7.观察浏览器的用户请求是否中断。

 

 

上一篇:5分钟让你理解K8S必备架构概念,以及网络模型(中)


下一篇:深度学习基于DCGAN的图像生成实战task3