JMX : Java Management Extendions
JMX是用于管理和监控资源的API : applications, devices, services, JVMs, etc.
(1) consult,change application configuration.
查看、修改程序配置。
(2) accumulate, publish statistics about application behavior.
累积?、发布程序行为的特征。
(3) notify users or applications of state changes and erroneous conditions.
通知用户或程序,状态变化或错误的条件。
JMX API包含了远程访问,因此远程的管理系统可以和程序进行交互。
javax.management.*
com.sun.jmx.*
MBean : Managed Bean
MBean Server : core-managed object server, MBean registed here.Management agent.
JMX agent :
包含一个MBean Server和用于操作MBean的services
JMX connector :
远程管理系统通过connector访问JMX agent。
不同协议的connector提供了相同的接口,因此,远程管理系统可以透明的访问资源,不管使用了什么通信协议。
JMX
(1) 用户可以通过简单灵活的MBean来管理Java程序。
(2) create smart agent, implementing distributed management middlewares and manages
(3) 把这些无缝集成到现有的管理和监控系统。
JMX技术分为三层:
(1) Instumentation
JMX访问的资源必须是通过Java访问的。必须通过MBean访问。
MBean是标准的,无需知道JMX agent。
Notification mechanism : MBean 产生notification events 并传播到其他层的component。
(2) JMX agent
直接访问资源,并且使得remote management application可以访问到资源。
通常与资源处于同一台机器,非必需。
核心是MBean server。
一些访问MBean的service。
至少一个communication adaptor or connector,以允许远程访问。
(3) Remote management
MBean server通过protocol adaptor or connector,使得JMX agent可以被访问得到。
adaptor : 为MBean server中的所有MBean提供个view。
connector : 提供manager-side interface,以管理management application和JMX agent之间的communication。
remote management application 通过这个interface访问JMX agent, 不管什么protocol。
MBean : Managed Bean
Managed Java object,类似JavaBean,遵循JMX规范。
一个MBean可以代表任意被管理的资源,比如设备,程序,等。
MBean提供了管理接口:
(1) readable or writable attributes, or both
(2) invokable operations
(3) self description
管理接口在一个生命周期中不会改变。
当一些pre-defined event发生时,MBean可以发出notification。
MBean :
Standard MBean
Dynamic MBean
Open MBean
Model MBean
MXBean