|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.management.remote.JMXConnectorFactory
public class JMXConnectorFactory
用於創建 JMX API 連接器客戶端的處理器。此類別沒有實例。
通常使用此類別的 connect 方法建立連接。更高層級的應用程序可使用 newJMXConnector 分離連接器客戶端的創建,使用 JMXConnector.connect(Map) 建立自身的連接。
每個客戶端都是由 JMXConnectorProvider 的實例創建的。此實例按如下方式建立。假設給定的 JMXServiceURL 類似於 "service:jmx:protocol:remainder"。則處理器將嘗試尋找適當的 JMXConnectorProvider 以供 protocol 使用。protocol 中出現的每個 + 或 - 字元都分別由 . 或 _ 替換。
對提供者包列表 的搜尋如下所示:
newJMXConnector 的 environment 參數包含關鍵字 jmx.remote.protocol.provider.pkgs,則關聯的值為提供者包列表。
jmx.remote.protocol.provider.pkgs,則其值為提供者包列表。
提供者包列表是一個表現為由豎直線 (|) 分隔的非空(null) Java 套件名稱列表的字元串。如果該字元串為空,則提供者包列表也為空。如果提供者包列表不是一個字元串,或者如果它包含空字元串元素,則拋出 JMXProviderException 異常。
如果存在提供者包列表並且不為空,則對於列表中的每個 pkg 元素,此處理器將嘗試載入以下類別
pkg.protocol.ClientProvider
如果傳給 newJMXConnector 的 environment 參數包含關鍵字 jmx.remote.protocol.provider.class.loader,則關聯的值為用於載入提供者的類別載入器。如果關聯的值不是一個 ClassLoader 的實例,則拋出 IllegalArgumentException。
如果 environment 參數中沒有 jmx.remote.protocol.provider.class.loader 關鍵字,則使用調用執行緒的上下文類別載入器。
如果嘗試載入該類別時產生 ClassNotFoundException,則繼續對列表中的下一個元素搜尋處理程序。
否則,提供者尋找的問題將由 JMXProviderException 通過其 cause 指示如下所示的基礎異常來通知:
ClassNotFoundException 之外的異常,則它就是 cause;
Class.newInstance() 產生了異常,則這就是 cause。
如果上述步驟中未找到任何提供者,包括無提供者包列表的預設情況,則實作將使用 protocol 自身的提供者,或者如果也沒有自身的提供者,則拋出 MalformedURLException。實作也可以選擇通過其他途徑尋找提供者。例如,它可能支持服務提供者的 JAR 約定,其服務介面為 JMXConnectorProvider。
每個實作都必須支持由字元串 rmi 或 iiop 指定的 RMI 連接器協議。
一旦找到了提供者,newJMXConnector 方法的結果就是在該提供者上調用 newJMXConnector 的結果。
傳給 JMXConnectorProvider 的 Map 參數為一個新的只讀 Map,它包含了原先傳給 JMXConnectorFactory.newJMXConnector 的 environment 參數中的所有條目(如果有)。此外,如果 environment 參數中沒有 jmx.remote.protocol.provider.class.loader 關鍵字,則將此關鍵字添加到新的只讀 Map 中。關聯的值為調用執行緒的上下文類別載入器。
| 欄位摘要 | |
|---|---|
static String |
DEFAULT_CLASS_LOADER
指定預設的類別載入器的屬性名稱。 |
static String |
PROTOCOL_PROVIDER_CLASS_LOADER
指定用於載入協議提供者的類別載入器的屬性名稱。 |
static String |
PROTOCOL_PROVIDER_PACKAGES
指定尋找協議的處理程序時需參考的提供者套件的屬性名稱。 |
| 方法摘要 | |
|---|---|
static JMXConnector |
connect(JMXServiceURL serviceURL)
創建到位於給定位址的連接器伺服器的連接。 |
static JMXConnector |
connect(JMXServiceURL serviceURL,
Map<String,?> environment)
創建到位於給定位址的連接器伺服器的連接。 |
static JMXConnector |
newJMXConnector(JMXServiceURL serviceURL,
Map<String,?> environment)
為位於給定位址的連接器伺服器創建一個連接器客戶端。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 欄位詳細資訊 |
|---|
public static final String DEFAULT_CLASS_LOADER
指定預設的類別載入器的屬性名稱。該類別載入器用於反序列化來自遠端 MBeanServerConnection 調用的返回值及異常。與此屬性關聯的值為 ClassLoader 的實例。
public static final String PROTOCOL_PROVIDER_PACKAGES
指定尋找協議的處理程序時需參考的提供者套件的屬性名稱。與此屬性關聯的值為由豎直線 (|) 分隔的套件名稱的字元串。
public static final String PROTOCOL_PROVIDER_CLASS_LOADER
指定用於載入協議提供者的類別載入器的屬性名稱。與此屬性關聯的值為 ClassLoader 的實例。
| 方法詳細資訊 |
|---|
public static JMXConnector connect(JMXServiceURL serviceURL)
throws IOException
創建到位於給定位址的連接器伺服器的連接。
此方法等效於 connect(serviceURL, null)。
serviceURL - 要連接到的連接器伺服器的位址。
connect 方法的 JMXConnector。
NullPointerException - 如果 serviceURL 為 null。
IOException - 如果由於通信問題造成無法建立連接器客戶端或連接。
SecurityException - 如果由於安全原因而無法建立連接。
public static JMXConnector connect(JMXServiceURL serviceURL,
Map<String,?> environment)
throws IOException
創建到位於給定位址的連接器伺服器的連接。
此方法等效於:
JMXConnector conn = JMXConnectorFactory.newJMXConnector(serviceURL,
environment);
conn.connect(environment);
serviceURL - 要連接到的連接器伺服器的位址。environment - 用於確定如何建立連接的一組屬性。此參數可以為 null。此映射中關鍵字必須為字元串。每個關聯值的適當型別取決於屬性。此調用不改變 environment 的內容。
JMXConnector。每次對此方法的成功調用都產生不同的物件。
NullPointerException - 如果 serviceURL 為 null。
IOException - 如果由於通信問題造成無法建立連接器客戶端或連接。
SecurityException - 如果由於安全原因而無法建立連接。
public static JMXConnector newJMXConnector(JMXServiceURL serviceURL,
Map<String,?> environment)
throws IOException
為位於給定位址的連接器伺服器創建一個連接器客戶端。結果客戶端直到調用其 connect 方法時才連接。
serviceURL - 要連接到的連接器伺服器的位址。environment - 用於確定如何建立連接的一組屬性。此參數可以為 null。此映射中關鍵字必須為字元串。每個關聯值的適當型別取決於屬性。此調用不改變 environment 的內容。
JMXConnector。每次對此方法的成功調用都產生不同的物件。
NullPointerException - 如果 serviceURL 為 null。
IOException - 如果由於通信問題而導致無法建立連接器客戶端。
MalformedURLException - 如果 serviceURL 中的協議無提供者。
JMXProviderException - 如果 serviceURL 中的協議有提供者,但提供者由於某種原因而無法使用。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。