|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.management.remote.JMXConnectorServerFactory
public class JMXConnectorServerFactory
用於創建 JMX API 連接器伺服器的處理器。此類別沒有實例。
每個連接器伺服器都是由 JMXConnectorServerProvider
的實例創建的。此實例如下所示。假設給定的 JMXServiceURL
類似於 "service:jmx:protocol:remainder"
。則處理器將嘗試尋找適當的 JMXConnectorServerProvider
以供 protocol
使用。protocol
中出現的每個 +
或 -
字元都分別由 .
或 _
替換。
對提供者包列表 的搜尋如下所示:
newJMXConnectorServer
的 environment
參數包含關鍵字 jmx.remote.protocol.provider.pkgs
,則關聯的值為提供者包列表。
jmx.remote.protocol.provider.pkgs
,則其值為提供者包列表。
提供者包列表是一個表現為由豎直線 (|
) 分隔的非空(null) Java 套件名稱列表的字元串。如果該字元串為空,則提供者包列表也為空。如果提供者包列表不是一個字元串,或者如果它包含空字元串元素,則拋出 JMXProviderException
異常。
如果存在提供者包列表並且不為空,則對於列表中的每個 pkg
元素,此處理器將嘗試載入以下類別
pkg.protocol.ServerProvider
如果傳給 newJMXConnectorServer
的 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 conventions for service providers,其服務介面為 JMXConnectorServerProvider
。
每個實作都必須支持由字元串 rmi
或 iiop
指定的 RMI 連接器協議。
一旦找到了提供者,newJMXConnectorServer
方法的結果就是在該提供者上調用 newJMXConnectorServer
的結果。
傳給 JMXConnectorServerProvider
的 Map
參數為一個新的只讀 Map
,它包含了原先傳給 JMXConnectorServerFactory.newJMXConnectorServer
的 environment
參數中的所有條目(如果有)。此外,如果 environment
參數中沒有 jmx.remote.protocol.provider.class.loader
關鍵字,則將此關鍵字添加到新的只讀 Map
中。關聯的值為調用執行緒的上下文類別載入器。
欄位摘要 | |
---|---|
static String |
DEFAULT_CLASS_LOADER
指定預設的類別載入器的屬性名稱。 |
static String |
DEFAULT_CLASS_LOADER_NAME
指定預設的類別載入器 MBean 名稱的屬性名稱。 |
static String |
PROTOCOL_PROVIDER_CLASS_LOADER
指定用於載入協議提供者的類別載入器的屬性名稱。 |
static String |
PROTOCOL_PROVIDER_PACKAGES
指定尋找協議的處理程序時需參考的提供者套件的屬性名稱。 |
方法摘要 | |
---|---|
static JMXConnectorServer |
newJMXConnectorServer(JMXServiceURL serviceURL,
Map<String,?> environment,
MBeanServer mbeanServer)
創建位於給定位址的連接器伺服器。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final String DEFAULT_CLASS_LOADER
指定預設的類別載入器的屬性名稱。此類別載入器用於反序列化從客戶端收到請求物件(之前可能參考了一個特定於 MBean 的類別載入器)。與此屬性關聯的值為 ClassLoader
的實例。
public static final String DEFAULT_CLASS_LOADER_NAME
指定預設的類別載入器 MBean 名稱的屬性名稱。此類別載入器用於反序列化從客戶端收到請求物件(之前可能參考了一個特定於 MBean 的類別載入器)。與此屬性關聯的值為 ObjectName
的實例。
public static final String PROTOCOL_PROVIDER_PACKAGES
指定尋找協議的處理程序時需參考的提供者套件的屬性名稱。與此屬性關聯的值為由豎直線 (|
) 分隔的套件名稱的字元串。
public static final String PROTOCOL_PROVIDER_CLASS_LOADER
指定用於載入協議提供者的類別載入器的屬性名稱。與此屬性關聯的值為 ClassLoader
的實例。
方法詳細資訊 |
---|
public static JMXConnectorServer newJMXConnectorServer(JMXServiceURL serviceURL, Map<String,?> environment, MBeanServer mbeanServer) throws IOException
創建位於給定位址的連接器伺服器。結果伺服器直到調用其 start
方法時才啟動。
serviceURL
- 新的連接器伺服器的位址。新的連接器伺服器的 getAddress
方法返回的連接器伺服器的實際位址不一定完全相同。例如,它可能包含一個埠號號,而原始位址中並沒有該埠號號。environment
- 用於控制新連接器伺服器的行為的一組屬性。此參數可以為 null。此映射中關鍵字必須為字元串。每個關聯值的適當型別取決於屬性。此調用不改變 environment
的內容。mbeanServer
- 該連接器伺服器連接到的 MBean 伺服器。如果該連接器伺服器將通過註冊的方式連接到 MBean 伺服器,則為 Null。
JMXConnectorServer
。每次對此方法的成功調用都產生不同的物件。
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。