jmx简介

在这里插入图片描述1.设备层
管理构件设备层主要的作用是定义了信息模型、通知机制、一些辅助元数据类以及如何实现JMX管理资源的规范,在JMX中,管理对象都是以管理构件(MBean)的形式存在的,JMX的管理资源可以是一个java应用或者是以个服务也可以是一个设备,只要是用java开发的或者是用java进行包装并且能置入JMX框架中的都叫JMX管理资源,并成为JMX的一个个管理构件(MBean),管理的时候需要先向MBean服务器注册;管理构件其实就是管理java资源并遵从一定的设计模式的接口,一个管理构件的管理接口:能被接触的属性值、能够执行的操作、发出的通知事件和管理构件的构建器;JMX框架定义了四种管理构件:第一种:标准管理构件这是最简单的一种,这种构件的实现是通过一组定义了属性和操作的命名规则(也就是设计模式)来完成的,检查标准管理构件的接口和应用设计模式的过程叫做内省;JMX代理就是通过内省来查看每一个注册在MBean服务器上的管理构件的函数和父类(查看他们是否遵从一定的设计模式)来决定他们能否代表一个管理部件,如果可以的话,就辨认出他们的属性和操作;第二种:动态管理构件这种构件有着更好的灵活性,他的管理接口是可以在运行时开放的,他通过来实现DynamicMBean接口来干活;JMX代理通过getMBeaniInfo()函数来获取当前的动态管理构件的管理接口,getMBeaniInfo()函数返回的对象是包含了属性和操作的签名的MBeanInfol类的实例;之所以动态管理构件可以在运行期获取,就是因为getMBeaniInfo()函数的调用是发生在动态管理构件向MBean服务器注册之后,与标准管理构建不同的是:JMX代理不需要通过内省这种方式来确定动态管理构件的管理接口;第三种:开放管理构件严格来说,这也是动态管理构件,这是一种专门化的动态管理构件,就如同 接口也是抽象类,而且是一种更加抽象的抽象类,所有的有关开放管理构件相关的参数、返回值类型和属性都围绕着一组预定义的数据类型来建立;预定义的数据类型就是我们常见的那些数据类型,比如:String、Integer、Float等,同时通过一组特定的接口来进行自我描述,JMX代理通过获得一个OpenMBeanInfo对象(OpenMBeanInfo是MBeanInfo的子类)来获取开放管理构件的管理接口;第四种:模型管理构件与开放管理构件一样,他也是一种动态管理构件,而且也是一种专门化的动态管理构件,它是一种预制的、通用的并且还是动态的MBean类,他包含了所有必要的默认行为的实现,还能允许在运行时添加或者是覆盖需要定制的实现;JMX规定模型管理构件必须通过实例化javax.management.modelmbean.RequiredModelMBean类来实现,还要配置该构件的默认行为并注册到JMX代理中,JMX代理通过获取一个ModelMBeanInfo对象来获取管理接口;模型管理构件在我看来是最先进的一种管理构件,他的主要的优点有:持久性,它是有持久机制的,用的就是java序列化技术甚至是JDBC来存储模型MBean的状态;通知和日志功能,模型管理构件可以记录每个发出的通知,还自动发出属性变化通知;属性值缓存;通知模型JMX还定义了通知模型,接口只是提供了一部分功能,管理应用程序还需要对状态变化或者是特殊情况的发生做出反应和处理,JMX通知模型的主要工作就是完成同一个JMX代理中的管理构件之间的事件传播;JMX的通知模型主要有以下几部分:1.Nitification接口。一个通用的事件模型,用来标识事件的类型,可以被直接使用,也可以根据传递的事件的需要而被扩展;主要用于接收通知的对象;主要作用于需要通知过滤器的对象,为监听者提供过滤通知的过滤器;这是由通知发送者实现的接口,允许希望得到通知的监听者注册;辅助元数据类JMX框架还定义了辅助元数据类,它是用来描述管理构件的,他不仅可以用来内省标准管理构件,还能被动态管理构件用来进行自我描述,辅助元数据类通过属性、操作、构建器和通告来描述管理构件,JMX代理就是通过辅助元数据类来管理所有的管理部件,不过管理部件具体是什么类型JMX代理就不管了;辅助元数据类主要有以下几种:图片2.代理层代理层是运行在java虚拟机上的管理实体,是管理资源和管理者之间的桥梁,代理层是直接管理资源的,他管理的资源库可以被远程的管理程序所控制,代理层的主要构成是一个MBean服务器和一系列处理被管理资源的服务;图片MBean服务器MBean服务器是代理层是核心,这里注册着设备层的所有的管理构件,注册个管理部件的时候必须提供唯一的一个对象名,管理应用程序就是用这个对象名来进行标识管理部件并对其操作,具体的操作有: 1.发现管理构件的管理接口;2.读写属性值;3.执行管理构件中定义的操作;4.获取管理构件中发出的通告5.基于对象名和属性名来查询管理构件;协议适配器和连接件MBean服务器就是依赖他俩来运行与该代理的java虚拟机之外的管理应用程序来进行通信,协议适配器通过特定的协议提供了一张注册在MBean服务器的管理构件的视图;连接器提供管理应用一方的接口以使得代理和管理应用程序进行通信,也就是说中针对不同的通信连接器提供的是一样的远程接口来封装通信过程,当远程应用程序使用这个接口的时候就可以通过网络透明的和代理进行交互,与协议就没什么关系了;适配器和连接器主要有这些:1.RMI连接器2.SNMP协议适配器3.IIOP协议适配器4.HTML协议适配器5.HTTP连接器代理服务代理服务可以对注册的管理构件执行管理功能(智能管理),代理服务本身也是作为管理构件而存在,也可以被MBean服务器控制;JMX定义的代理服务主要有以下几种:通过管理小程序服务可以获得并实例化新的类,还可以使网络上的类库本地化,他是通过management-applet服务来实现的;用来定期监视管理构件的属性值,一旦超出范围就会发出特定的通告,JMX规定了三种监视器:计数器、度量和字符串;每一个监视服务都是作为一个标准管理构件存在的,需要提供服务的时候就可以由相应的管理构件或者是远程管理应用程序动态创建或配置注册使用;可以周期性的发出通告或者是在制定日期和时间的时候发出通告,他也是一个管理构件,主要作用就是帮助管理应用程序建立一个可配置的备忘录;JMX规范 中也定义了管理构件之间的关系模型,一个关系是用户定义的管理构件之间的N维关系,关系模型中包括:角色、角色信息,管理类型,关系,角色值,关系服务等;注意,只有注册哦MBean服务器上并且能被对象名标识的管理构件才能成为一个关系的成员,关系服务还能锁定不合理关系类型的创建;3.分布服务层分布管理层规定了实现JMX 应用管理平台的接口,它定义了对能对代理层进行操作的管理接口和组件;他的主要功能如下:有良好的安全性,通过管理应用层和另一个管理代理的设备层的联合就可以提供一个完整的网络管理的解决方案;总结这就是JMX,他就像是javaweb世界里的一名无名小卒,默默付出,他的知名度没有那么高,但是并不代表它的用途不广泛,SUN公司在此基础上开发了用于网络管理的JDMK,还有BEA的weblogic应用服务器把JMX作为自己的管理基础,JBoss实现的J2EE应用服务器也是以JMX为内核的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值