美文网首页
Arthas 获取当前java进程的数据库连接信息

Arthas 获取当前java进程的数据库连接信息

作者: Only_lezi | 来源:发表于2019-08-11 00:59 被阅读0次

    本文来自 布灵格 - Arthas 获取当前java进程的数据库连接信息

    1. 进入arthas目录, 执行 java -jar arthas-boot.jar 启动Arthas

      arthas进程启动
    2. 执行 tt 命令来记录 RequestMappingHandlerAdapter#invokeHandlerMethod 的请求,
      tt -t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter invokeHandlerMethod

    3. 然后访问你连接进程的网页, 例如: http://localhost:8080

      访问网页
      可以看到Arthas会拦截到这个调用, index是1000
    4. 使用 tt 命令的 -i 参数来指定index, 并且用 -w 参数来执行 ognl 表达式来获取 spring context,
      tt -i 1000 -w 'target.getApplicationContext()'

      image.png
    5. 获取到 applicationContext 之后我们就可以干一些大(ni)事(dong)情(de)...

    6. 接下来进入正题, 我们执行 tt -i 1000 -w 'target.getApplicationContext().getBean("dataSource").getUrl()'
      来获取数据库的连接

      数据库连接地址
      数据库连接用户名
      数据库连接密码

    这样就知道当前进程连接的数据库实例是不是符合我们预期的结果啦

    参考:
    Alibaba Arthas实践--获取到Spring Context,然后为所欲为

    相关文章

      网友评论

          本文标题:Arthas 获取当前java进程的数据库连接信息

          本文链接:https://www.haomeiwen.com/subject/xuihjctx.html