将 wsadmin 脚本编制与 Java 管理扩展 (JMX) 结合使用
Java™ 管理扩展 (JMX) 是一种框架,它提供将 Java 资源(例如应用程序服务器)公开至系统管理基础结构的标准方法。使用 JMX 框架,提供程序可实现一些功能,如列出配置设置,以及编辑设置。此框架还包括管理应用程序可用于监视事务(如应用程序服务器的启动)的通知层。
JMX 关键特性
JMX 的 WebSphere® Application Server 实现的关键特性包括:
- 运行 JMX 代理程序的所有进程。
- 通过 JMX 操作执行的所有运行时管理。
- 用于将 JMX 代理程序连接到远程启用 JMX 的管理应用程序的连接器。支持以下连接器:
- SOAP JMX 连接器
- 基于因特网 ORB 间协议 (RMI-IIOP) JMX 连接器(JSR160RMI 连接器)的 JMX Remote 应用程序编程接口 (JSR 160) 远程方法调用
- 基于因特网 ORB 间协议的远程方法调用 (RMI-IIOP) JMX 连接器
- 进程间通信 (IPC)
- 通过给定的协议提供 JMX 代理程序的管理视图的协议适配器。连接到协议适配器的管理应用程序通常是特定于给定的协议的。
- 查询并更新运行时对象配置设置的功能。
- 在运行时期间装入、更改和监视应用程序组件和资源以及对其进行初始化的功能。
JMX 体系结构
JMX 体系结构被结构化为三层:
- 检测层 - 规定如何将资源包装到称为受管 Bean (MBean) 的特殊 Java bean 中。
- 代理程序层 - 由 MBean Server 和代理程序组成,他们提供管理基础结构。可实现的服务包括:
- 监视
- 事件通知
- 计时器
- 管理层 - 定义外部管理应用程序可以如何根据协议、API 等等与底层进行交互。此层使用分布式服务规范 (JSR-077) 实现,该规范是 Java 2 Platform Enterprise Edition (J2EE) 规范的一部分。
JMX 的分层体系结构在以下图中概述:
图 1. JMX 体系结构

JMX 分布式管理
下图显示如何使 JMX 体系结构适合 WebSphere Application Server Network Deployment 环境的整个分布管理拓扑:
图 2. JMX 的分布式管理

该分布管理体系结构的关键点包括:
- Java 虚拟机 (JVM) 的本地内部 MBean 向本地 MBean Server 注册。
- 外部 MBean 有对于他们的 MBean Server 的一个本地代理。该代理用本地 MBean Server 注册。使用 MBean 代理,本地 MBean Server 将消息传递到位于以下位置的外部 MBean Server:
- 有对于在它节点中的所有服务器的一个 MBean 代理的 Node Agent。未使用其他节点的 MBean 代理。
- Deployment Manager 有对于单元中的所有 Node Agent 的 MBean 代理。
JMX MBean
本产品提供了许多 MBean,每个 MBean 都有不同的可用功能和操作。例如,应用程序服务器 MBean 可以列出操作(如启动和停止)。应用程序 MBean 可以列出操作(如安装和卸载)。您可遇到的一些 JMX 使用方案包括:
- 外部程序,编写这些程序的目的是通过以程序方式访问 JMX API 来控制 WebSphere Application Server Network Deployment 运行时及其 WebSphere 资源。
- 第三方应用程序(包括将定制 JMX MBean 作为已部署代码的一部分)支持应用程序组件和资源的 JMX API 管理。
以下示例说明如何获取特定 MBean 的名称:
使用 Jacl:
set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]
使用 Jython:
am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')
每个 WebSphere Application Server 运行时 MBean 都可以有属性、操作和通知。此信息中心中提供了本产品随附的每个 MBean 的完整文档,可通过 来访问这些文档。
JMX 优势
将 JMX 用于 WebSphere Application Server 中的管理功能具有以下好处:
- 无需大量投入就可以启用对 Java 应用程序的管理。
- 依靠充当管理代理程序的核心受管对象服务器。
- Java 应用程序可以嵌入受管对象服务器,并使该对象服务器的某些功能作为一个或多个向该对象服务器注册的 MBean 来提供。
- 提供可伸缩的管理体系结构。
- 每个 JMX 代理程序服务是独立的模块,它可被插入到管理代理程序。
- 该 API 是可扩展的,从而允许通过此管理界面轻松地添加和显示新的 WebSphere Application Server 功能和新的定制应用程序功能。
- 集成现有的管理解决方案。
- 当每个进程能够管理它的资源时,它是自足的。不存在中心控制点。在原理上,启用 JMX 的管理客户机可以连接到任何受管进程,并与由该进程主管的 MBean 交互。
- JMX 提供对系统管理使用单个、平面的以域为宽度的方法。 独立的进程通过 MBean 代理进行交互,其支持单个管理客户机通过受管进程的网络进行无缝导航。
- 仅定义对管理是必需的接口。
- 为管理工具提供用于列出应用程序和管理资源的标准 API。