Arthas官网文档地址:命令列表 | arthas
第一步:寻找类加载器
sc -d org.springframework.context.ApplicationContext
因为可能存在很多个类加载器,每个classloader都有可能加载spring的ApplicationContext类,所以需要确定具体是哪个类加载器,找到其hashcode。
第二步:查看bean信息,本例中 bean名称:defaultCaffeineCacheOperator
vmtool --action getInstances -c 5c647e05 --className org.springframework.context.ApplicationContext --express 'instances[0].getBean("defaultCaffeineCacheOperator")' -x 3
第三步:调用bean的方法
vmtool --action getInstances -c 5c647e05 --className org.springframework.context.ApplicationContext --express 'instances[0].getBean("defaultCaffeineCacheOperator").getAllkeys' -x 3
代码中写的是:defaultCaffeineCacheOperator. getAllkeys(),此处不能使用“()”
vmtool --action getInstances -c 5c647e05 --className org.springframework.context.ApplicationContext --express 'instances[0].getBean("defaultCaffeineCacheOperator").get("49:G1020")' -x 3