210723-Arthas 获取SpringContext访问应用行为记录

文章目录
  1. II. 其他
    1. 1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
    2. 2. 声明
    3. 3. 扫描关注

使用arthas进行应用排查定位,这里主要记录借助arthas,获取SpringContext,然后就可以通过SpringContext来访问应用内存数据,调用bean方法等操作

基本操作

1
2
3
4
5
6
7
8
9
10
11
12
# 下载arthas
curl -O https://arthas.aliyun.com/arthas-boot.jar
# 启动
java -jar arthas-boot.jar
# 选择需要挂在的jar进程
1

# 监控,获取SpringContext
tt -t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter invokeHandlerMethod

# 然后通过http访问一下应用,接下来就可以使用下面的获取到SpringContext
tt -i 1000 -w 'target.getApplicationContext()'

arthas支持ognl语法,需要注意的是针对容器,不支持lambda语法,如果拿到了一个Set对象,想获取某个值,考虑先将其转成List,然后再操作,如

1
tt -i 1000 -w '@com.google.common.collect.Lists@newArrayList(target.getApplicationContext("demoBean").set).get(0)'

关于ognl的更多使用姿势,可以参考博文

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

一灰灰blog

QrCode

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×