JMX(Java Management Extensions),顾名思义,是Java管理方案的扩展。JMX所管理的是能被Java抽象的各类应用、系统和网络,所扩展的是相应的管理和监控方案,并使之模式化和标准化。
JMX是GlassFish整个管理架构的基础。AMX是GlassFish所特有的对JMX应用的扩展,它使得在GlassFish上开发JMX应用时更加面向对象、更加简单。
本章将首先介绍JMX的背景、基本概念和用法,接着将介绍JMX技术在Java EE环境下的应用,然后将说明GlassFish对JMX技术的重要扩展(AMX),最后将说明如何在GlassFish中开发自己的MBean。
本章重点:
l JMX的基本概念
l Java EE的JMX应用
l GlassFish对JMX的扩展和实现
15.1 JMX概述
15.1.1 JMX的背景
JMX技术作为Java管理和监控的标准接口在Java SE 5.0正式被发布出来。现阶段,围绕JMX的主要Java标准Java Specification Requests(JSR)有3个:
l JSR-3,Java Management Extensions Instrumentation and Agent Specification
l JSR-160,Java Management Extensions Remote API
l JSR-77,Java 2 Platform,Enterprise Edition Management Specification
JSR-3和JSR-160都是针对Java SE平台,JSR-3是JMX的标准规范,JSR-160是JMX远程接口的规范。这两个标准将会在下个Java版本Mustang中被合并成JSR-255,具体见图15-1。

图15-1 JMX规范的演变
JSR-77针对Java EE平台,是关于企业应用的管理和监控的进一步的JMX标准。
JMX的各个相关标准定义了标准的管理模型和管理接口,为管理应用的实现提供了方便。典型的JMX管理应用包括:
l 配置查询及更改。
l 各类统计。
l 状态通知。
15.1.2 选择JMX的理由
JMX技术已被业界广泛地使用,Sun的Sun Java System Application Server、BEA的Weblogic、IBM的Websphere等主流的Java应用服务器都相继采用和支持这个标准。JMX其实并不是什么新发明的技术,而是对已有的几类Java技术的归纳综合。JMX被迅速广泛地采用,说明这种归纳综合迎合了实际的需求。应用JMX技术所带来的好处归纳如下:
l 以标准的方式管理Java应用、系统和网络。
l 使开发简便,借鉴并沿用了成熟简单的Java Bean的开发模式。
l 松耦合的组件开发实现了系统的可插拔性,降低了移植和维护成本。
l 可实现远程对系统的监控和管理,其中包括了系统底层的JVM。
l 对原有应用改动小,可方便地集成管理系统。







