|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.management.remote.rmi.RMIConnector
public class RMIConnector
一個到遠端 RMI 連接器的連接。通常使用 JMXConnectorFactory
建立這樣的連接。但是,專門的應用程序可直接使用此類別,例如獲得 RMIServer
樁模組 (stub) 則不需要通過 JNDI。
欄位摘要 |
---|
從介面 javax.management.remote.JMXConnector 繼承的欄位 |
---|
CREDENTIALS |
建構子摘要 | |
---|---|
RMIConnector(JMXServiceURL url,
Map<String,?> environment)
建構一個將 RMI 連接器伺服器連接到給定位址的 RMIConnector 。 |
|
RMIConnector(RMIServer rmiServer,
Map<String,?> environment)
用給定的 RMI stub 建構一個 RMIConnector 。 |
方法摘要 | |
---|---|
void |
addConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
添加一個接收連接狀態改變的偵聽器。 |
void |
close()
關閉客戶端到其伺服器的連接。 |
void |
connect()
建立到連接器伺服器的連接。 |
void |
connect(Map<String,?> environment)
建立到連接器伺服器的連接。 |
JMXServiceURL |
getAddress()
此連接器的位址。 |
String |
getConnectionId()
獲得來自連接器伺服器的連接 ID。 |
MBeanServerConnection |
getMBeanServerConnection()
返回一個代表遠端 MBean 伺服器的 MBeanServerConnection 物件。 |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject)
返回 MBeanServerConnection 物件,它表示在其上執行代表提供的委託主題操作的遠端 MBean 伺服器。 |
void |
removeConnectionNotificationListener(NotificationListener listener)
將一個用於接收狀態更改通知的偵聽器從列表中移除。 |
void |
removeConnectionNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
將一個用於接收狀態更改通知的偵聽器從列表中移除。 |
String |
toString()
返回此物件的字元串表示形式。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public RMIConnector(JMXServiceURL url, Map<String,?> environment)
建構一個將 RMI 連接器伺服器連接到給定位址的 RMIConnector
。
位址可直接參考連接器伺服器,可使用如下語法之一:
service:jmx:rmi://[host[:port]]/stub/encoded-stub service:jmx:iiop://[host[:port]]/ior/encoded-IOR
(這裡的方括號 []
不屬於位址的組成部分,只表示主機和埠號為可選項)。
位址還可表示使用 JNDI 尋找 RMI stub 的位置,使用如下語法之一:
service:jmx:rmi://[host[:port]]/jndi/jndi-name service:jmx:iiop://[host[:port]]/jndi/jndi-name
實作還可識別其他位址語法,如下所示:
service:jmx:iiop://[host[:port]]/stub/encoded-stub
url
- RMI 連接器伺服器的位址。environment
- 指定如何進行連接的其他屬性。對於基於 JNDI 的位址,這些屬性可有效地包含可由 InitialContext
識別的 JNDI 屬性。此參數可以為 null,它等效於一個空映射。
IllegalArgumentException
- 如果 url
為 null。public RMIConnector(RMIServer rmiServer, Map<String,?> environment)
用給定的 RMI stub 建構一個 RMIConnector
。
rmiServer
- 代表 RMI 連接器伺服器的一個 RMI 樁模組。environment
- 指定如何進行連接的其他屬性。此參數可以為 null,其等效於一個空映射。
IllegalArgumentException
- 如果 rmiServer
為 null。方法詳細資訊 |
---|
public String toString()
返回此物件的字元串表示形式。通常,toString
方法會返回一個“按文本方式表示”此物件的字元串。結果應是一個簡明而豐富的表示形式,以方便人們閱讀。
Object
中的 toString
public JMXServiceURL getAddress()
此連接器的位址。
JMXAddressable
中的 getAddress
public void connect() throws IOException
JMXConnector
複製的描述建立到連接器伺服器的連接。此方法等效於 connect(null)
。
JMXConnector
中的 connect
IOException
- 如果由於存在通信問題而導致無法建立連接。public void connect(Map<String,?> environment) throws IOException
JMXConnector
複製的描述建立到連接器伺服器的連接。
如果已在該物件上成功調用了 connect
,則再次調用將沒有任何作用。但是,如果 JMXConnector.close()
是在調用 connect
之後調用的,則新的 connect
將拋出 IOException
。
否則,在此物件上未調用過任何一個 connect
,或者雖然調用過但產生了一個異常。然後對 connect
的調用將試圖建立到連接器伺服器的連接。
JMXConnector
中的 connect
environment
- 連接的屬性。此映射中的屬性覆寫創建 JMXConnector
時指定的映射中的屬性(如果有)。此參數可以為 null,其等效於一個空映射。
IOException
- 如果由於存在通信問題而導致無法建立連接。public String getConnectionId() throws IOException
JMXConnector
複製的描述獲得來自連接器伺服器的連接 ID。對於給定的連接器伺服器,每個連接將具有一個在連接的整個生命週期中都不改變的唯一 ID。
JMXConnector
中的 getConnectionId
JMXConnectionNotification
中的 ID 相同。package description
描述了連接 ID 的約定。
IOException
- 如果無法獲得連接 ID,例如在連接關閉或斷開的情況下。public MBeanServerConnection getMBeanServerConnection() throws IOException
JMXConnector
複製的描述返回一個代表遠端 MBean 伺服器的 MBeanServerConnection
物件。對於給定的 JMXConnector
,對此方法兩次成功的調用通常將返回相同的 MBeanServerConnection
物件,儘管不需要這樣做。
對於返回的 MBeanServerConnection
中的每個方法,調用該方法將導致調用遠端 MBean 伺服器中的相應方法。MBean 伺服器方法返回的值就是返回給客戶端的值。如果 MBean 伺服器方法產生了 Exception
,則客戶端上也會出現相同的 Exception
。如果 MBean 伺服器方法(或嘗試對它的調用)產生了 Error
,則該 Error
將包裹在 JMXServerErrorException
中,從客戶端能夠看到該錯誤。
調用該方法等效於調用 getMBeanServerConnection(null)
,這意味著未指定任何委託主題並且在 MBeanServerConnection
上調用的所有操作必須使用經驗證的主題(如果有)。
JMXConnector
中的 getMBeanServerConnection
MBeanServerConnection
介面的物件。
IOException
- 如果無法創建有效的 MBeanServerConnection
,例如,由於尚未建立到遠端 MBean 伺服器的連接(用 connect
方法),或者連接已關閉,或者連接已斷開。public MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
JMXConnector
複製的描述返回 MBeanServerConnection
物件,它表示在其上執行代表提供的委託主題操作的遠端 MBean 伺服器。對於給定的 JMXConnector
和 Subject
,對此方法兩次成功的調用通常將返回相同的 MBeanServerConnection
物件,儘管不需要這樣做。
對於返回的 MBeanServerConnection
中的每個方法,調用此方法導致調用代表給定委託主題,而不是經驗證主題的遠端 MBean 伺服器上的對應方法。MBean 伺服器方法返回的值就是返回給客戶端的值。如果 MBean 伺服器方法產生了 Exception
,則客戶端上也會出現相同的 Exception
。如果 MBean 伺服器方法(或嘗試對它的調用)產生了 Error
,則該 Error
將包裹在 JMXServerErrorException
中,從客戶端能夠看到該錯誤。
JMXConnector
中的 getMBeanServerConnection
delegationSubject
- 代表將執行何種請求的 Subject
。可以為 null,這種情況下執行請求表示經驗證的 Subject(如果有)。
MBeanServerConnection
介面的物件。
IOException
- 如果無法創建有效的 MBeanServerConnection
,例如,由於尚未建立到遠端 MBean 伺服器的連接(用 connect
方法),或者連接已關閉,或者連接已斷開。public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
JMXConnector
複製的描述添加一個接收連接狀態改變的偵聽器。該偵聽器將接收 JMXConnectionNotification
型別的通知。實作也可發送任何其他型別的通知。
使用此方法可添加任意個數的偵聽器。相同的偵聽器可使用相同或不同的 filter 和 handback 值多次添加。不對重複的條目進行任何特殊處理。例如,假設偵聽器兩次註冊均為不帶 filter,則將為每個通知調用兩次其 handleNotification
方法。
JMXConnector
中的 addConnectionNotificationListener
listener
- 用於接收連接狀態通知的偵聽器。filter
- 用於選擇要發送給偵聽器的通知的過濾器,如果將發送所有的通知,則為 null。handback
- 將隨每個通知提供給偵聽器的物件。可以為 null。JMXConnector.removeConnectionNotificationListener(javax.management.NotificationListener)
,
NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
JMXConnector
複製的描述將一個用於接收狀態更改通知的偵聽器從列表中移除。此偵聽器必須在以前已經添加。如果有多個比對的偵聽器,則移除所有比對的偵聽器。
JMXConnector
中的 removeConnectionNotificationListener
listener
- 用於接收連接狀態通知的偵聽器。
ListenerNotFoundException
- 如果偵聽器未用此 JMXConnector
註冊。JMXConnector.removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object)
,
JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
JMXConnector
複製的描述將一個用於接收狀態更改通知的偵聽器從列表中移除。該偵聽器必須在以前已經用相同的三個參數添加。如果有多個比對的偵聽器,則只移除一個比對的偵聽器。
JMXConnector
中的 removeConnectionNotificationListener
listener
- 用於接收連接狀態通知的偵聽器。filter
- 用於選擇發送給偵聽器通知的過濾器。可以為 null。handback
- 將隨每個通知提供給偵聽器的物件。可以為 null。
ListenerNotFoundException
- 如果偵聽器未用此 JMXConnector
註冊,或者未用給定的 filter 和 handback 註冊。JMXConnector.removeConnectionNotificationListener(NotificationListener)
,
JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void close() throws IOException
JMXConnector
複製的描述關閉客戶端到其伺服器的連接。任何正在進行中的或新的使用由 JMXConnector.getMBeanServerConnection()
返回的 MBeanServerConnection 的請求將獲得一個 IOException
。
如果已在該物件上成功調用了 close
,則再次調用將沒有任何作用。如果從未調用過 close
,或者調用過但產生了異常,則將嘗試關閉該連接。此嘗試可能成功,此時 close
將正常返回,也可能產生一個異常。
關閉連接是一個潛在的慢操作。例如,假設伺服器已崩潰,則關閉操作可能不得不等待網路協議逾時。不希望關閉操作出現阻塞的調用者應在單獨的執行緒中處理關閉。
Closeable
中的 close
JMXConnector
中的 close
IOException
- 如果無法完全關閉連接。如果拋出此異常,連接的伺服器端是否已完全關閉為未知。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。