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”;
点赞
                 
            
                 
            
                 
            
                 
            
                 
            
发表评论
        
        当前回复:作者
        
    
    
     
                                     
                                     
                                     
                                     
                                     
                                     
                    