受管资源(Manageable Resource)

受管资源是任何应用,设备,实体,只要可以被Java访问或者被封装为Java对象的

 

那么谁来管这些受管资源呢?->MBean

MBean(Managed Bean)

MBean是在JMX规范中,满足命名规则和继承规范的Java类,它们可以用来操作和访问受管资源(通过一些属性和方法).MBean有3类(Standard,Dynamic,Model)

 

那么谁来管这些MBean呢?或者MBean生存在哪里呢?-> MBeanServer

MBean服务器(MBean Server)

MBeanServer是JMX规范中,用于管理一组MBean的Java类。所有的MBean被一视同仁的看待。MBeanServer向MBean暴露了一组用于管理MBean的接口,并且可以用于查询MBean

 

MBean要起作用,必须有一些底层服务支撑他们,这些服务就由JMXAgent提供

JMX代理(JMX Agent)

JMXAgent是一个Java进程,用于提供一组用来管理MBean组的服务。它是MBean服务器的容器。

 

那么,谁来和使用JMXAgent,谁来和JMXAgent交互呢?->协议适配器和连接器

协议适配器和连接器(Protocol Adaptors and Connectors)

这些适配器和连接器是用于暴露JMXAgent给形形×××的协议或者客户端使用的中间桥梁。适配器(只存在在JMXAgent中),连接器(JMXAgent和客户端各有一个对象)

 

管理应用程序 (Management Application) 

Management Application是对访问,配置,操作受管资源有兴趣的应用程序。典型的,比如JBoss中的jmx-console.

 

通知(Notification)

通知是MBean或者MBeanServer发出的用于包含事件,断言或者通用信息的Java对象。MBean或者Java对象可以注册Listener来接收这些通知。

 

设备(Instrumentation)

设备是使用MBean或者一组MBean来暴露受管资源的进程。