JMX中的Mbean监控

接入JMX中的Mbean监控

什么是jmx

JMX(‌Java Management Extensions)‌是一个为Java应用程序植入管理功能的框架。‌它允许开发者通过动态地把管理的属性和操作分配给Java对象,‌从而把他们的应用程序和存在的网络管理软件集成在一起。‌JMX为Java开发者定义了一个方法,‌使得开发者能够将独立的Java管理模块集成到存在的管理系统中。‌这种集成使得Java应用程序能够被有效地监控和管理,‌从而提高了系统的可管理性和可维护性。‌

Mbean

​ 是被jmx管理的资源,分为四类–

类型描述
standard MBean简单标准化资源管理,只可管理接口中定义的属性。并且类名后缀必须是Mbean
dynamic MBean实现DynamicMBean接口,允许在运行时动态地确定其属性和操作
open MBean属性和操作参数的类型和返回值是使用预定义的 Java 类的小集合构建的
model MBean实现了ModelMBean接口,拥有dynamic MBean的特性并且有额外特性

样例

package com.grant.jmx;

import lombok.extern.slf4j.Slf4j;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.stereotype.Service;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author:Grant
 * @Description:
 * @Date: 2024/07/17/10:45
 */

@ManagedResource(objectName = "com.grant.jmx:type=JmxService", description = "My Service MBean")
@Service
@Slf4j
public class JmxService {
    public void doSomething() {
        log.info("get jmx remoting");
    }

    public String getStatus() {
        // 返回状态信息
        return "Service is running";
    }
}


package com.grant.jmx;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jmx.export.MBeanExporter;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author:Grant
 * @Description:
 * @Date: 2024/07/17/10:50
 */

@Configuration
public class jmxConfig {

    @Bean
    public MBeanExporter mbeanExporter() {
        MBeanExporter exporter = new MBeanExporter();
        Map<String, Object> beans = new HashMap<>();
        beans.put("com.grant.jmx:type=MyService", myService());
        exporter.setBeans(beans);
        return exporter;
    }

    @Bean
    public JmxService myService() {
        return new JmxService();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值