1.为什么使用JMX技术?
(1)JMX技术使Java应用程序可以被管理,但是对程序的设计影响很小。
(2)JMX技术提供了一种标准的方式管理基于Java技术的应用程序、系统和网络。
(3)JMX技术可以被用在JMX外来管理JVM。
(4)JMX技术提供了一个可升级的、动态的管理框架。
(5)JMX技术在存在的Java技术起杠杆作用(增加功能的意思)。
(6)JMX技术可以很容易的和存在的管理解决方案、已存在的技术集成。
2. JMX Architectrue
JMX技术为管理和监控资源提供了标准的API。包括远程访问,以便一个远程的管理应用程序可以管理和监控应用程序、系统和网络。
2.1框架大纲
JMX技术规范文档:
(1)JSR3:Java管理扩展工具和代理规范
(2)JSR160:Java管理扩展远程API
管理框架的三个层次:
2.1.1 Instrumentation
资源(例如应用程序、设备、服务)是被用MBean管理。为了远程管理和监控,MBean需要暴露他的由属性和方法组成管理接口。
2.1.2 Agent
JMX Agent重要的组件是MBean服务器。这是一个核心的可管理对象的服务器,MBean注册到这个服务器。JMX Agent也包含一系列管理MBean的服务。JMX代理直接控制资源,并使用他们对远程管理代理可用。
2.1.3 Remote Management
协议适配器和标准连接器使远程的管理应用程序可以访问JMX代理,这个应用程序运行在JMX代理外的虚拟机中。
2.2代理
JMX代理是一种标准的管理代理,可以直接控制资源,使它对远程应用程序可用。JMX 代理通常和它管理的资源在一台机器上,但是这不是必需的。
2.3远程管理资源
标准协议:JMXMP(JMX Messaging Protocol,基于RMI)。
可以使用其它协议,如SNMP(Simple Network Management Protocol)等。
3.用JMX技术管理你的资源
3.1可管理的资源
应用程序,服务执行,设备和用户等。
3.2 Managed MBean(MBean)
3.2.1 Standard MBean
遵从JavaBean规范的Java对象。
3.2.2 Dynamic MBean
遵从在运行期提供更多灵活性的特定接口。
Notification机制:
允许MBean产生和传递通知事件到其它层的组件。
MBean管理接口的组成:
(1)可读、可写的命名的、指定类型的属性
(2)可被调用的命名的、指定类型的方法
(3)可以被MBean广播的Notification
3.2.3 MXBean
是引用一系列预定义的类型。提供了一种简单的编写MBean的方式。仅仅引用了一系列预定义的类型。
3.3 JVM工具
使用JMX技术,也可以管理JVM。