使用Arthas获取Spring Context
标签: 后端
upupor   121   0 2020-08-20 14:51 
最新一次编辑的原因:
Add: 文末添加Arthas更多的使用案例链接

1. 执行tt命令来记录RequestMappingHandlerAdapter#invokeHandlerMethod的请求

tt -t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter invokeHandlerMethod

执行后,刷新下SpringBoot应用的url,这里刷新的是 http://192.168.1.40:2022/

刷新一下,arthas就会记录一条请求日志

可以获得这条记录的index是1000

2. 获取Spring Context

根据 index为1000,继续下面的工作

用tt命令的-i参数来指定index,并且用-w参数来执行ognl表达式来获取spring context

tt -i 1000 -w 'target.getApplicationContext()'

输出一大串结果,这里看到beanFactory其实就已经知道了,我们已经获取了所有的bean

3. 测试 调用goodsRealServiceImpl服务类中的getByRealGoodsId()方法获取返回值

使用Arthas获取到SpringContext真的方便很多

 


更多使用案例可以访问

https://github.com/alibaba/arthas/issues?q=label%3Auser-case+


本作品系原创,采用《署名-非商业性使用-禁止演绎4.0 国际》许可协议.转载请说明出处
本文链接:https://www.upupor.com/u/20082014516550790144 复制分享

无评论内容,快来评论吧