JMX的全称为Java Management Extensions. 顾名思义,是打点Java的一种扩展。这种机制可以利便的打点、监控正在运行中的Java措施。常用于打点线程,内存,日志Level,处事重启,系统情况等。
简介
根基术语
Adapter 和Connector的区别在于:Adapter是利用某种Internet协议来与JMX Agent得到接洽,Agent端会有一个工具 (Adapter)来处理惩罚有关协议的细节。好比SNMP Adapter和HTTP Adapter。而Connector则是利用雷同RPC的方法来会见Agent,在Agent端和客户端都必需有这样一个工具来处理惩罚相应的请求与应答。好比RMI Connector。
JMX Agent可以带有任意多个Adapter,因此可以利用多种差异的方法会见Agent。
JMX根基构架
JMX分为三层,别离认真处理惩罚差异的事务。它们别离是:
Instrumentation 层
Instrumentation层主要包罗了一系列的接口界说和描写如何开拓MBean的类型。凡是JMX所打点的资源有一个或多个MBean构成,因此这个资源可以是任何由Java语言开拓的组件,或是一个JavaWrapper包装的其他语言开拓的资源。
Agent 层
Agent 用来打点相应的资源,而且为远端用户提供会见的接口。Agent层构建在Intrumentation层之上,而且利用并打点 Instrumentation层内部描写的组件。Agent层主要界说了各类处事以及通信模子。该层的焦点是一MBeanServer,所有的MBean都要向它注册,才气被打点。注册在MBeanServer上的MBean并不直接和长途应用措施举办通信,他们通过协议适配器(Adapter)和毗连器(Connector)举办通信。凡是Agent由一个MBeanServer和多个系统处事构成。JMX Agent并不体贴它所打点的资源是什么。
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+已经包被包括了)。
Standard MBean