|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface JMXConnector
JMX API 連接器的客戶端。使用此型別的物件可建立到連接器伺服器的連接。
新創建的此型別物件尚未連接。在此物件能夠使用之前,必須調用其 connect
方法。但是,由 JMXConnectorFactory.connect
創建的物件已經連接。
欄位摘要 | |
---|---|
static String |
CREDENTIALS
屬性的名稱,它指定了連接過程中發送給連接器伺服器的憑據。 |
方法摘要 | |
---|---|
void |
addConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
添加一個接收連接狀態改變的偵聽器。 |
void |
close()
關閉客戶端到其伺服器的連接。 |
void |
connect()
建立到連接器伺服器的連接。 |
void |
connect(Map<String,?> env)
建立到連接器伺服器的連接。 |
String |
getConnectionId()
獲得來自連接器伺服器的連接 ID。 |
MBeanServerConnection |
getMBeanServerConnection()
返回一個代表遠端 MBean 伺服器的 MBeanServerConnection 物件。 |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject)
返回 MBeanServerConnection 物件,它表示在其上執行代表提供的委託主題操作的遠端 MBean 伺服器。 |
void |
removeConnectionNotificationListener(NotificationListener listener)
將一個用於接收狀態更改通知的偵聽器從列表中移除。 |
void |
removeConnectionNotificationListener(NotificationListener l,
NotificationFilter f,
Object handback)
將一個用於接收狀態更改通知的偵聽器從列表中移除。 |
欄位詳細資訊 |
---|
static final String CREDENTIALS
屬性的名稱,它指定了連接過程中發送給連接器伺服器的憑據。與此屬性關聯的值(如果有)為伺服器的 JMXAuthenticator
的具有適當型別的可序列化的物件。
方法詳細資訊 |
---|
void connect() throws IOException
建立到連接器伺服器的連接。此方法等效於 connect(null)
。
IOException
- 如果由於存在通信問題而導致無法建立連接。
SecurityException
- 如果由於安全原因而無法建立連接。void connect(Map<String,?> env) throws IOException
建立到連接器伺服器的連接。
如果已在該物件上成功調用了 connect
,則再次調用將沒有任何作用。但是,如果 close()
是在調用 connect
之後調用的,則新的 connect
將拋出 IOException
。
否則,在此物件上未調用過任何一個 connect
,或者雖然調用過但產生了一個異常。然後對 connect
的調用將試圖建立到連接器伺服器的連接。
env
- 連接的屬性。此映射中的屬性覆寫創建 JMXConnector
時指定的映射中的屬性(如果有)。此參數可以為 null,其等效於一個空映射。
IOException
- 如果由於存在通信問題而導致無法建立連接。
SecurityException
- 如果由於安全原因而無法建立連接。MBeanServerConnection getMBeanServerConnection() throws IOException
返回一個代表遠端 MBean 伺服器的 MBeanServerConnection
物件。對於給定的 JMXConnector
,對此方法兩次成功的調用通常將返回相同的 MBeanServerConnection
物件,儘管不需要這樣做。
對於返回的 MBeanServerConnection
中的每個方法,調用該方法將導致調用遠端 MBean 伺服器中的相應方法。MBean 伺服器方法返回的值就是返回給客戶端的值。如果 MBean 伺服器方法產生了 Exception
,則客戶端上也會出現相同的 Exception
。如果 MBean 伺服器方法(或嘗試對它的調用)產生了 Error
,則該 Error
將包裹在 JMXServerErrorException
中,從客戶端能夠看到該錯誤。
調用該方法等效於調用 getMBeanServerConnection(null)
,這意味著未指定任何委託主題並且在 MBeanServerConnection
上調用的所有操作必須使用經驗證的主題(如果有)。
MBeanServerConnection
介面的物件。
IOException
- 如果無法創建有效的 MBeanServerConnection
,例如,由於尚未建立到遠端 MBean 伺服器的連接(用 connect
方法),或者連接已關閉,或者連接已斷開。MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
返回 MBeanServerConnection
物件,它表示在其上執行代表提供的委託主題操作的遠端 MBean 伺服器。對於給定的 JMXConnector
和 Subject
,對此方法兩次成功的調用通常將返回相同的 MBeanServerConnection
物件,儘管不需要這樣做。
對於返回的 MBeanServerConnection
中的每個方法,調用此方法導致調用代表給定委託主題,而不是經驗證主題的遠端 MBean 伺服器上的對應方法。MBean 伺服器方法返回的值就是返回給客戶端的值。如果 MBean 伺服器方法產生了 Exception
,則客戶端上也會出現相同的 Exception
。如果 MBean 伺服器方法(或嘗試對它的調用)產生了 Error
,則該 Error
將包裹在 JMXServerErrorException
中,從客戶端能夠看到該錯誤。
delegationSubject
- 代表將執行何種請求的 Subject
。可以為 null,這種情況下執行請求表示經驗證的 Subject(如果有)。
MBeanServerConnection
介面的物件。
IOException
- 如果無法創建有效的 MBeanServerConnection
,例如,由於尚未建立到遠端 MBean 伺服器的連接(用 connect
方法),或者連接已關閉,或者連接已斷開。void close() throws IOException
關閉客戶端到其伺服器的連接。任何正在進行中的或新的使用由 getMBeanServerConnection()
返回的 MBeanServerConnection 的請求將獲得一個 IOException
。
如果已在該物件上成功調用了 close
,則再次調用將沒有任何作用。如果從未調用過 close
,或者調用過但產生了異常,則將嘗試關閉該連接。此嘗試可能成功,此時 close
將正常返回,也可能產生一個異常。
關閉連接是一個潛在的慢操作。例如,假設伺服器已崩潰,則關閉操作可能不得不等待網路協議逾時。不希望關閉操作出現阻塞的調用者應在單獨的執行緒中處理關閉。
Closeable
中的 close
IOException
- 如果無法完全關閉連接。如果拋出此異常,連接的伺服器端是否已完全關閉為未知。void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
添加一個接收連接狀態改變的偵聽器。該偵聽器將接收 JMXConnectionNotification
型別的通知。實作也可發送任何其他型別的通知。
使用此方法可添加任意個數的偵聽器。相同的偵聽器可使用相同或不同的 filter 和 handback 值多次添加。不對重複的條目進行任何特殊處理。例如,假設偵聽器兩次註冊均為不帶 filter,則將為每個通知調用兩次其 handleNotification
方法。
listener
- 用於接收連接狀態通知的偵聽器。filter
- 用於選擇要發送給偵聽器的通知的過濾器,如果將發送所有的通知,則為 null。handback
- 將隨每個通知提供給偵聽器的物件。可以為 null。
NullPointerException
- 如果 listener
為 null。removeConnectionNotificationListener(javax.management.NotificationListener)
,
NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
將一個用於接收狀態更改通知的偵聽器從列表中移除。此偵聽器必須在以前已經添加。如果有多個比對的偵聽器,則移除所有比對的偵聽器。
listener
- 用於接收連接狀態通知的偵聽器。
NullPointerException
- 如果 listener
為 null。
ListenerNotFoundException
- 如果偵聽器未用此 JMXConnector
註冊。removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object)
,
addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
void removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback) throws ListenerNotFoundException
將一個用於接收狀態更改通知的偵聽器從列表中移除。該偵聽器必須在以前已經用相同的三個參數添加。如果有多個比對的偵聽器,則只移除一個比對的偵聽器。
l
- 用於接收連接狀態通知的偵聽器。f
- 用於選擇發送給偵聽器通知的過濾器。可以為 null。handback
- 將隨每個通知提供給偵聽器的物件。可以為 null。
ListenerNotFoundException
- 如果偵聽器未用此 JMXConnector
註冊,或者未用給定的 filter 和 handback 註冊。removeConnectionNotificationListener(NotificationListener)
,
addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
String getConnectionId() throws IOException
獲得來自連接器伺服器的連接 ID。對於給定的連接器伺服器,每個連接將具有一個在連接的整個生命週期中都不改變的唯一 ID。
JMXConnectionNotification
中的 ID 相同。package description
描述了連接 ID 的約定。
IOException
- 如果無法獲得連接 ID,例如在連接關閉或斷開的情況下。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。