Spring Boot 中的JMX使用
admin 发布于:2022-07-05 13:32:36
阅读:loading
JMX是Java管理扩展,通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件以及手动执行一些特定的方法,我们可以使用JMX的扩展实现来满足我们的需要,同时Spring Boot提供了对于JMX的简单集成,也内置了一些方法可以直接被调用,此外我们项目中引用的Tomcat、logback、数据库连接池等也都实现了JMX,可以借助于JVM提供的多种工具来查看和管理对应的JMX接口,本篇文章使用Spring Boot支持的JMX方式来带你入个门。
package cn.chendd.modules.mbean;
import ...;
/**
* MBeanDemo
*
* @author chendd
* @date 2022/7/5 11:00
*/
@Component
@ManagedResource(objectName = "cn.chendd.modules:name=MBeanDemo")
public class MBeanDemo {
@ManagedAttribute(description = "获取系统名称")
public String getName() {
return "chendd";
}
@ManagedOperation(description = "输出Hello")
@ManagedOperationParameters(value = {
@ManagedOperationParameter(name = "name", description = "名称")
})
public String sayHello(String name) {
return String.format("hello , %s" , name);
}
@ManagedOperation(description = "关闭服务器")
public void shutdown() {
System.exit(0);
}
}
如果说不知道jconsole是啥就过分了,打开在%JDK_HOME%\bin\jconsole.exe文件,我们可以找到本机或者远程机器上的Java应用程序,以本文提供的代码示例为例,找到对应程序的选项,点击连接“按钮”进入,详细如下图所示:
(1)MBeanDemo类中的相关注解在spring-context包中;
(2)某些版本的springboot需要引入“server.tomcat.mbeanregistry.enabled=true”和“spring.jmx.enabled=true”;
点赞
发表评论
当前回复:作者