这是第一篇关于java的文章,之前决定要写一个关于线程的专题的,不过并发这个东西看上去还是比较深奥,写一些比较浅的东西也没什么意思,最近一段时间JMX接触得比较多,索性就先写一个JMX的专题吧。
最早接触这个东西是在05年的JavaChina大会上,其中有一个专门介绍JMX的Session,当时我听完了也不知道这个东西到底是干什么的,只是看到演示的Demo很炫。后来也就一直没怎么碰过这门技术,一直到06年的JavaTechDays我又听了一个关于JMX的Session,毕竟一年的时间悟性提高了一些,终于听懂了Session的内容,不过这个Session介绍的已经是JMX新的version了,JMX在JDK6.0中有了很多改进,加入了MXBean较之以前开发更简单,灵活。
首先总的介绍一下JMX这个概念,JMX是Java Management Extension的缩写,其实简单得说来就是用来监控Java Class运行时状态的技术。而且他提供了强大的API和很好的设计,非常易于扩展,JDK5.0提供了这个技术的实现。
下面简单的介绍一下JMX之中的基本概念:
1,MBean是JMX需要监控的Java Class类,每一个MBean都要实现一个后缀为MBean的接口,这个接口也是用户定义的,这个接口是用来向JMX暴露可访问的方法,属性等
2,MBeanServer是MBeans的管理者,MBeanServer提供一个MBean的容器,一旦MBean注册到这个MBeanServer,这个MBean就被放到这个容器中,可以通过MBeanServer来访问这个MBean的属性和方法,(我觉得这个思路和EJB非常的相似)。
3,Connector是用于用户访问MBeanServer的,有多种实现方式,有通过Http的连接方式,通过RMI的连接方式等
其实这三个概念就是JMX的三个基本组成部分,JMX的Architecture就是由这三层组成的:
1,基础部件(MBean)
2,代理层(MBeanServer)
3,发布层(Connector)