JMX/Java管理扩展

本文介绍了Java Management Extensions(JMX)的基本概念和架构,包括MBean、MBeanServer和不同类型的MBean。通过实例展示了如何使用HTTP适配器、RMI连接器以及HTML适配器与动态MBean进行实践操作。
摘要由CSDN通过智能技术生成

1. JMX介绍

JMX是Java Management Extensions的缩写,意为Java管理扩展,是一个标准也是一个框架,用来监控和管理JVM上面的资源,例如我们用jvisualvm监控远程的JVM时,远程需要开启JMX

1.1 JMX架构

JMX作为一个标准和框架,要实现JMX编程必须基于其架构,架构就是与其相关的一些概念或架构分层;

JMX有一个MBean / 管理组件的概念,MBean是Management Bean的缩写,是对JVM上面所有资源的抽象,MBean作为一种Java对象,可以通过MBean的属性和方法访问JVM上面的各种资源;

JMX的架构由 分布层代理层设备层 组成;

  设备层/MBean:将所有资源抽象成MBean组件,通过MBean访问资源,共有4类MBean,通常接触的都是标准MBean:

  1. 标准MBean:StdMBean接口描述行为,Std类实现行为; 要求:①接口和类必须在一个包下 ②接口名MBean结尾,实现类名为接口名前半部分;
  2. 动态MBean:实现DynamicMBean接口,接口中getMBeanInfo方法返回的MBeanInfo包含有哦此MBean暴露的所有属性(MBeanAttitudeInfo)和方法(MBeanOperationInfo),此MBeanInfo可以动态扩展;
  3. 开放MBean:忽略
  4. 模型MBean:忽略
  5. MXBean:MyMXBean接口描述行为,实现类实现行为且类名随意,要求:接口名MBean结尾或者接口用@MXBean注解;

  代理层/MBeanServer:存放MBean组件的容器,提供注册和请求MBean的功能,容器就是管理组件服务器 / MBeanServer,创建管理组件服务器时需要制定服务器的域名,当向管理组件服务器注册管理组件时需要指定一个ObjectName对象来标识管理组件,ObjectName对象由域名和键值对列表构成,域名就是创建管理组件服务器的域名,键值对用来区分不同的MBean至少有一对且一般有name=XXX;

  分布层:管理客户端如何访问管理组件服务器中的管理组件,有协议适配器连接器两种实现形式,而适配器和连接器也作为一种MBean注册到管理组件服务器,常见的就是HTML适配器和RMI连接器,HTML适配器可以用浏览器客户端访问,RMI连接器可以用JConsole客户端访问;

1.2 JMX编程元素

编程元素就是如何按照JMX架构提供的规范来编写代码,JMX编程一般分为编写管理组件和编写管理组件服务器;

管理组件:包括设备层和分布层,分布层的适配器和连接器组件不需要自己编写,引入jar包即可,所以一般指编写自定义的管理组件,一般是标准MBean;

管理组件服务器:指代理层,分为三步,创建管理组件服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值