javax.management.remote

javax.management.remote是對 JMX MBean 伺服器進行遠程訪問使用的接口。此包定義了用於供實現對 JMX MBean 伺服器進行遠程管理的重要接口。輔助文檔 JMX Remote API 補充了此接口的規範。本 Javadoc 規範所在的位置應包含它的 PDF 文檔。

基本介紹

  • 中文名:javax.management.remote
  • 對象: JMX MBean 伺服器
  • 功能:進行遠程訪問使用
  • 屬性:接口
描述,連線器地址,伺服器,客戶端,參數,連線標識符,

描述

JMX 規範定義了連線器的概念。連線器連線到 JMX API MBean 伺服器並使遠程 Java 客戶端可訪問該伺服器。連線器的客戶端導出與 MBean 伺服器基本相同的接口,尤其是 MBeanServerConnection 接口。
連線器通過給定的協定實現了 MBean 伺服器的遠程訪問
JMX Remote API 定義了標準的連線器 RMI Connector,它通過 RMI 提供了對 MBeanServer 的遠程訪問
JMX Remote API 還定義了一個可選協定,名為 JMXMP(JMX 訊息協定)。JMXMP 基於 TCP 連線上的序列化 Java 對象(在可選包 javax.management.remote.message 中定義)。實現此協定的連線器稱為 JMXMP Connector。也可以使用 JMXConnectorFactory 提供的用戶定義的連線器協定和可選的通用連線器 (javax.management.remote.generic)。

連線器地址

通常連線器都有一個地址,它由類 JMXServiceURL 表示。JMXMP 連線器的地址如下所示:
service:jmx:jmxmp://myhost:9876
RMI 連線器的地址可以有好幾種形式,javax.management.remote.rmi 包的文檔中有相關的詳細論述。

伺服器

連線器伺服器通過構造 JMXConnectorServer 的子類的實例創建。多數情況下,該實例是用 JMXConnectorServerFactory.newJMXConnectorServer 方法創建的。
通常情況下,連線器伺服器與一個 MBean 伺服器通過兩種方式關聯,或者通過在該 MBean 伺服器上註冊的方式,或者在創建連線器伺服器時通過將該 MBean 伺服器作為一個參數提供。

客戶端

連線器客戶端通常通過將 JMXServiceURL 提供給 JMXConnectorFactory.connect 方法創建。
對於更特殊的用戶,連線器伺服器可通過直接實例化一個實現 JMXConnector 接口的類創建,例如類 RMIConnector。

參數

創建連線器客戶端或伺服器時,可以提供一個類型為 Map 的定義了其他參數的對象。此 Map 中的每個條目都包含一個關鍵字元串和一個適合於該關鍵字類型的關聯值。JMX Remote API 定義的標準關鍵字都以字元串 "jmx.remote." 開頭。文檔 JMX Remote API 列出了這些標準關鍵字。

連線標識符

每個由連線器伺服器打開的連線都具有一個字元串標識符,稱為連線 ID.此標識符出現在由連線器伺服器發出的 JMXConnectionNotification 事件中、JMXConnectorServerMBean#getConnectionIds() 返回的列表中以及由客戶端的 getConnectionId() 方法返回的值中。
按照慣例,連線 ID 如下所示:
jmxmp://clienthost:6789 clientname xxxyyyzzz
遵守此慣例的連線 ID 的正規語法如下(使用《The Java Language Specification, Second Edition》中的 grammar notation):
ConnectionId:
Protocol : ClientAddressopt Space ClientIdopt Space ArbitraryText
ClientAddress:
// HostAddress ClientPortopt
ClientPort
: HostPort
Protocol 是一個可由 JMXConnectorFactory 識別的協定。
ClientAddress 是連線的客戶端的地址和連線埠(如果可確定),否則什麼也不是。HostAddress 是客戶端從其連線的主機的 Internet 地址,可以為數值或 DNS 形式。數值 IPv6 地址括在方括弧 [] 中。HostPort 為客戶端從其連線的十進制連線埠號
ClientId 為客戶端實體的標識,通常為由 JMXPrincipal.getName() 返回的字元串。此字元串不能包含空格。
ArbitraryText 是連線器伺服器創建客戶端 ID 時添加的其他文本。它至少應能夠將此連線 ID 從此連線伺服器上當前打開的任何其他連線的 ID 中區分出來。

相關詞條

熱門詞條

聯絡我們