【转】JMX是什么
(1)Java Management Extensions-Java管理扩展
(2)是一个为应用程序,设备,系统等植入管理功能的框架
(3)跨系统操作平台,跨系统体系结构,跨网络传输协议实现系统管理,网络管理,服务管理
JMX体系架构
(1)设备层(Instumentation Level)
设备层主要定义了资源模型,各种被管理的资源以管理构件MBean的形式存在。
(2)代理层(Agent Level)
代理层的核心是MBean Server,负责Adapter/Connecter/MBean的注册和管理
(3)分布服务层(Distribute Service Level)
分布服务层定义了对代理层进行操作和管理的接口和组件
(4)附加管理协议API
定义的API主要用于支持当前已经存在的网络管理协议:SNMP等等
JMX重要概念
(1)MBean:
Managed Bean-被管理资源实例。
通过MBean暴露一系列方法和属性,外界可以获取被管理资源的状态,并管理其行为。
MBean有四种类型:标准MBean,动态MBean,开放MBean,模型MBean
(2)MBean Server:
MBean Server是MBean的容器。
注册Adapter、Connector、MBean,并直接管理MBean
(3)JMX Agent:
Agent只是一个Java进程,它包括这个Mbean Server和一系列附加的Mbean Service。
(4)ProtocolAdapters and Connectors:
JMX Agent通过各种各样的Adapter和Connector来与外界(JVM之外)进行通信。同样外界(JVM之外)也必须通过某个Adapter和Connector来向JMX Agent发送管理或控制请求。Jdmk5.1中,sun提供很多Adaptor和Connector的实现。
Adapter和Connector的区别在于:Adapter是使用某种协议(HTTP或者SNMP)来与JMX Agent获得联系,Agent端会有一个对象(Adapter)来处理有关协议的细节。比如SNMP Adapter和HTTP Adapter。而Connector在Agent端和client端都必须有这样一个对象来处理相应的请求与应答。比如RMI Connector。
JMX使用
(1)需要的jar文件:jmxri.jar/jmxtools.jar/jmxremote.jar/jmxremote_optional.jar/rmissl.jar
(2)创建接口:XXXMBean
(3)创建类:XXX implements XXXMBean
(4)创建Agent类:获得MBeanServer,注册Adapter,注册Mbean,启动Agent