JMX基本构架
JMX分为三层,分别负责处理不一样的事务。它们分别是:node
Instrumentation 层
Instrumentation层主要包括了一系列的接口定义和描述如何开发MBean的规范。一般JMX所管理的资源有一个或多个MBean组成,所以这个资源能够是任何由Java语言开发的组件,或是一个JavaWrapper包装的其余语言开发的资源。微信
Agent 层
Agent 用来管理相应的资源,而且为远端用户提供访问的接口。Agent层构建在Intrumentation层之上,而且使用并管理 Instrumentation层内部描述的组件。Agent层主要定义了各类服务以及通讯模型。该层的核心是一MBeanServer,全部的MBean都要向它注册,才能被管理。注册在MBeanServer上的MBean并不直接和远程应用程序进行通讯,他们经过协议适配器(Adapter)和链接器(Connector)进行通讯。一般Agent由一个MBeanServer和多个系统服务组成。JMX Agent并不关心它所管理的资源是什么。app
Distributed 层
Distributed层关心Agent如何被远端用户访问的细节。它定义了一系列用来访问Agent的接口和组件,包括Adapter和Connector的描述。
若是一个Java对象能够由一个遵循JMX规范的管理器应用管理,那么这个Java对象就能够由JMX管理资源。要使一个Java对象可管理,则必须建立相应的MBean对象,并经过这些MBean对象管理相应的Java对象。当拥有MBean类后,须要将其实例化并注册到MBeanServer上。学习
详述
这里采用的是JDK7,JDK7中已经包含了jmx,可是若是用到HtmlAdaptorServer类(后面会看到)还须要用到jmxtools.jar, 能够去这里下载,有两个包:jmx-1_2_1-ri.zip; jmx_remote-1_0_1_03-ri.zip。jmx-1_2_1-ri.zip解压后lib中有jmxri.jar和jmxtools.jar,将jmxtool.jar拷贝出来放入classpath中便可(jmxri.jar在JDK5+已经包被包含了)。
spa
关注“动力节点Java学院”微信公众号,获取更多有价值的Java相关资讯,最重要的是动力节点Java学院Java零基础班现已开启免费学习,对于想学Java的同窗无疑是好消息,亲自考察教学质量,机会就在眼前,点击“我要报名”。code