一起使用 wsadmin Scripting 與「Java 管理延伸 (JMX)」
「Java™ 管理延伸 (JMX)」是一種架構,它提供向系統管理基礎架構公開 Java 資源(例如應用程式伺服器)的標準方法。 當使用 JMX 架構時,提供者可以實作一些功能,例如列出配置設定,以及編輯設定。 這個架構還包括管理應用程式可用來監視事件(如應用程式伺服器的啟動)的通知層。
JMX 主要特性
JMX WebSphere® Application Server 實作的主要特性包括:
- 所有執行 JMX 代理程式的程序。
- 透過 JMX 作業執行的所有執行時期管理。
- 用來將 JMX 代理程式連接到遠端啟用 JMX 之管理應用程式的連接器。
支援的連接器如下:
- SOAP JMX 連接器
- JMX Remote 應用程式設計介面 (JSR 160) 網際網路交互 ORB 通訊協定遠端方法呼叫 (RMI-IIOP) JMX 連接器(JSR160RMI 連接器)
- 網際網路交互 ORB 通訊協定遠端方法呼叫 (RMI-IIOP) JMX 連接器
- 跨程序通訊 (IPC)
- 透過給定的通訊協定提供 JMX 代理程式管理視圖的通訊協定配接器。 連接到通訊協定配接器的管理應用程式通常是專用於給定的通訊協定。
- 查詢及更新執行時期物件配置設定的功能。
- 在執行時期載入、起始設定、變更及監視應用程式元件和資源的功能。
JMX 架構
JMX 架構的結構分為三層:
- 檢測層 - 規定如何在稱為受管理 Bean (MBean) 的特殊 Java Bean 中覆蓋資源。
- 代理程式層 - 由提供管理基礎架構的 MBean 伺服器和代理程式組成。
實作的服務包括:
- 監視
- 事件通知
- 計時器
- 管理層 - 定義外部管理應用程式如何根據通訊協定、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 伺服器中登錄。
- 外部 MBean 對其 MBean 伺服器有一個本端 Proxy。
這個 Proxy 在本端 MBean 伺服器中登錄。
當使用 MBean Proxy 時,本端 MBean 伺服器會將訊息傳給下列位置的外部 MBean 伺服器:
- 對所在節點內的所有伺服器有其 MBean Proxy 的節點代理程式。不會使用其他節點的 MBean Proxy。
- 部署管理程式對 Cell 中的所有節點代理程式有其 MBean Proxy。
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 Proxy 來互動,MBean Proxy 支援單一管理用戶端透過受管理程序的網路來進行無縫導覽。
- 只定義管理所需的介面。
- 提供標準 API 來向管理工具顯現應用程式和管理資源。