|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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。