本文来自 布灵格 - Arthas 获取当前java进程的数据库连接信息
-
进入arthas目录, 执行
arthas进程启动java -jar arthas-boot.jar
启动Arthas
-
执行
tt
命令来记录RequestMappingHandlerAdapter#invokeHandlerMethod
的请求,
tt -t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter invokeHandlerMethod
-
然后访问你连接进程的网页, 例如:
访问网页http://localhost:8080
可以看到Arthas会拦截到这个调用, index是1000 -
使用
image.pngtt
命令的-i
参数来指定index, 并且用-w
参数来执行 ognl 表达式来获取 spring context,
tt -i 1000 -w 'target.getApplicationContext()'
-
获取到
applicationContext
之后我们就可以干一些大(ni)事(dong)情(de)... -
接下来进入正题, 我们执行
数据库连接地址tt -i 1000 -w 'target.getApplicationContext().getBean("dataSource").getUrl()'
来获取数据库的连接
数据库连接用户名
数据库连接密码
这样就知道当前进程连接的数据库实例是不是符合我们预期的结果啦
网友评论