JMX学习体会

   JMX(Java Management Extensions)中文翻译为JAVA管理扩展,jmx是在J2SE 5.0被加入到JAVA平台里的,主要是提供一种简单,标准低耦合的方式来管理JAVA平台的相关资源,包括硬件资源,操作系统资源,JVM,应用服务器,JAVA应用系统等。目前各大应用服务器都有相应的JMX实现,如WEBLOGIC,Tomcat等,在WEBLOGIC控制台里,我们可以通过点击按钮来部署或卸载应用包,新建或删除数据源、连接池等,WEBLOGIC里的所有操作都是基于JMX实现的,那到底JMX做了什么呢?

  可以想像一下如果我们不用JMX,我们是如何来管理我们的JAVA应用的,通过命令行部署包(或者有一些是直接将应用包拷到相应目录下),通过修改配置文件来新建连接池或数据源等,这样的管理方式要求管理人员具有较高的技术水平,相应管理成本也就高了,而最大的问题是所有的可管理的资源没有一个统一的管理平台,各种资源以不同的方式被管理着,涉及到大量修改的时候难免会有问题产生,而JMX则提供这么一个统一的管理平台,我们只要在WEBLOGIC的控制台下做相应操作,即可实现对整个系统的控制。

  JMX是如何实现对资源的控制的呢?又是如何是松耦合的方式被加入到系统中的呢?

  对于平台中可由JAVA编程访问到的资源,JMX通过一个被称为MBean的对象将资源进行封装,被封装的资源甚至不需要知道自己被封装了,在封闭的MBean中提供对资源各种属性的访问,并定义各种资源上可进行的操作,比如对于文件资源,可进行的操作有读写等,对于数据库连接池有新建删除等。将封装好的MBean注册到一个MBeanServer的对象中,该对象用于管理在其之上注册的MBean,实现的对任意一个在其之上注册的MBean对象属性的访问及操作的调用,客户层只要知道被封装的MBean的注册名(为ObjectName对象)即可向MBeanServer请求查看该对象的属性及在该对象上进行封装MBean时暴露出来的操作方法的调用,由于进行管理的客户层不一这与被管理的对象及MBeanServer对象处于同一机器,因此需要定义相关的访问协议,协议由各种各样的连接器(Connector)及适配器(Adaptor)组成。

  较为常用的即是RMIConnector及HttpAdaptor,连接器一般由连接器MBean,连接器服务及连接器客户端组成,如RMIConnector,则需要在MBeanServer端注册一个代表连接器的MBean,该MBean管理着相应的底层连接服务,在RMI中则为RMI的服务端对象,在客户端则需要通过客户端的RMI对象与服务器端的RMI对象进行通过才能进行MBeanServer的访问。适配器(Adaptor)一般由适配器MBean及相应的服务组成,如HTTPAdaptor,只需要在MBeanServer中注册一个HTTPAdaptor的MBean,则可在客户端通过浏览器访问MBeanServer,从而访问其中注册的MBean,当然包括HTTPAdaptor。

  JMX中的MBean有两种,一种是标准MBean(Standard MBean),其实现主要是为需要管理的资源新建一个类及相应的MBean接口,在类中暴露相应的属性及操作,再将该MBean注册到MBeanServer中,因为所暴露的属性及操作在编译期就已经明确了,因此标准MBean又以静态MBean区分于动态MBean;动态MBean在编译期间并不知道所产生的MBean对象所暴露的属性及操作,而是直到运行期间才知道的,它主要的实现方式构造用于描述暴露的属性及操作等内容的MBeanInfo对象并将之赋予MBean对象,在运行期间,MBeanServer通过其MBeanInfo中的元信息来判断其可执行的操作及可访问的属性的。

  另外MBean通过实现NotificationEmiter或直接继承Notificationbroadcastersupport类来实现发送事件通知的功能

  这里只做简单的描述,欲了解更多JMX相关的内容,可在下面的网址找到各种JMX相关的内容,若有其它好的网址也请推荐一下:)

  JMX 官方文档

  Java theory and practice: Instrumenting applications with JMX

  从黑箱到企业系统文章第1部分

  从黑箱到企业系统文章第2部分

  从黑箱到企业系统文章第3部分

  j2se 6平台的新特性

  JMX与commons-modeler

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值