☰
arthas获取bean名称调用方法(可以获取配置文件上的东西和密码)
2026/10/14 1:55:21 网站建设 项目流程

一、文档地址

地址

二、调用静态变量或者方法(ognl)

ognl'@java.lang.System@out.println("hello")'

三、调用bean

获取类加载器

sc-dorg.springframework.context.ApplicationContext

输出内容最后一行的 classLoaderHash:复制下它的hash码

  1. 调用方法 xxxbean是你的bean例如service 下的就是xxxserviceImpl和getPassword函数
  2. -c 后面的是你的classLoaderHash
  3. –express 是 vmtool 命令的一个参数,用来指定你要执行的 表达式(Expression)。在使用 Arthas 的 vmtool 时,–express 后跟的是一个 Java 表达式,它会在目标 JVM 上执行。
vmtool--actiongetInstances-c7b1d7fff--classNameorg.springframework.context.ApplicationContext--express'instances[0].getBean("xxxbean").getPassword()'-x3

参考

四、获取所有bean名称

vmtool--actiongetInstances-c7b1d7fff--classNameorg.springframework.context.ApplicationContext--express'instances[0].getBeanDefinitionNames'-x2

五、获取配置文件上的值

ww.name为配置文件上的

vmtool--actiongetInstances-c7b1d7fff--classNameorg.springframework.context.ApplicationContext--express'instances[0].getEnvironment().getProperty("ww.name")'-x2

例如获取mysql密码配置

vmtool--actiongetInstances-c7b1d7fff--classNameorg.springframework.context.ApplicationContext--express'instances[0].getEnvironment().getProperty("spring.datasource.druid.master.password")'-x2

六、获取当前线程池等待队列

vmtool--actiongetInstances--classNamecom.zaxxer.hikari.HikariDataSource--express'instances[0].getHikariPoolMXBean().getThreadsAwaitingConnection()'

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询