JavaTM 2 Platform
Standard Ed. 6

javax.management.remote
介面 JMXConnectorServerMBean

所有已知實作類別:
JMXConnectorServer, RMIConnectorServer

public interface JMXConnectorServerMBean

供連接器伺服器使用的 MBean 介面。JMX API 連接器伺服器連接到 MBean 伺服器並為遠端客戶端建立到該 MBean 伺服器的連接。

新創建的連接器伺服器為非活動的,它還不偵聽連接。只有在調用其 start 方法後,它才開始偵聽連接。

從以下版本開始:
1.5

方法摘要
 JMXServiceURL getAddress()
          該連接器伺服器的位址。
 Map<String,?> getAttributes()
          此連接器伺服器的屬性。
 String[] getConnectionIds()
          當前打開的到此連接器伺服器的連接 ID 列表。
 boolean isActive()
          確定連接器伺服器是否活動。
 void setMBeanServerForwarder(MBeanServerForwarder mbsf)
          添加一個截取對 MBean 伺服器請求的物件,該請求是通過此連接器伺服器到達的。
 void start()
          啟動連接器伺服器,即開始偵聽客戶端連接。
 void stop()
          取消啟動連接器伺服器,即停止對客戶端連接的偵聽。
 JMXConnector toJMXConnector(Map<String,?> env)
          返回此連接器伺服器的客戶端 stub。
 

方法詳細資訊

start

void start()
           throws IOException

啟動連接器伺服器,即開始偵聽客戶端連接。在連接器伺服器已啟動時,調用此方法沒有任何作用。在連接器伺服器已停止時,調用此方法將產生 IOException

拋出:
IOException - 如果無法啟動偵聽,或者如果連接器伺服器已經停止。
IllegalStateException - 如果此連接器伺服器尚未連接到 MBean 伺服器。

stop

void stop()
          throws IOException

取消啟動連接器伺服器,即停止對客戶端連接的偵聽。調用此方法還將關閉所有由此伺服器建立的客戶端連接。返回此方法後,無論正常返回還是拋出異常,連接器伺服器都不再創建任何新的客戶端連接。

連接器伺服器一旦停止就無法再啟動。

在連接器伺服器已停止時,調用此方法沒有任何效果。在客戶端伺服器尚未啟動時調用此方法將永久禁用連接器伺服器物件。

如果關閉客戶端連接導致異常,則該異常不會從此方法拋出。而會從此 MBean 發出一個型別為 JMXConnectionNotification.FAILEDJMXConnectionNotification,同時顯示無法關閉連接的連接 ID。

關閉連接器伺服器是一個潛在的慢操作。例如,如果具有打開連接的客戶端發生崩潰,則關閉操作不得不等待網路協議逾時。不希望關閉操作出現阻塞的調用者應在單獨的執行緒中處理關閉。

拋出:
IOException - 如果無法完全關閉伺服器。拋出此異常時,伺服器已嘗試關閉所有的客戶端連接。除了那些伺服器嘗試將它們關閉時產生異常的連接,所有的客戶端連接都被關閉。

isActive

boolean isActive()

確定連接器伺服器是否活動。當連接器伺服器的 start 方法成功返回時,此連接器伺服器即進入活動狀態,並一直保持活動狀態直到調用其 stop 方法或連接器伺服器失敗。

返回:
如果該連接器伺服器為活動的,則返回 true。

setMBeanServerForwarder

void setMBeanServerForwarder(MBeanServerForwarder mbsf)

添加一個截取對 MBean 伺服器請求的物件,該請求是通過此連接器伺服器到達的。此物件將作為任何由此連接器伺服器創建的新連接的 MBeanServer 提供。現有連接不受影響。

如果此連接器伺服器已與一個 MBeanServer 物件關聯,則將該物件提供給 mbsf.setMBeanServer。如果這樣做產生異常,則該方法拋出相同的異常,沒有任何其他作用。

如果此連接器尚未與一個 MBeanServer 物件關聯,或者如果剛才提到的 mbsf.setMBeanServer 調用成功,則 mbsf 成為該連接器伺服器的 MBeanServer

參數:
mbsf - 新的 MBeanServerForwarder
拋出:
IllegalArgumentException - 如果調用 mbsf.setMBeanServer 失敗,產生了 IllegalArgumentException。這包含了 mbsf 為 null 的情況。

getConnectionIds

String[] getConnectionIds()

當前打開的到此連接器伺服器的連接 ID 列表。

返回:
包含 ID 列表的新字元串陣列。如果當前沒有打開的連接,則此陣列將為空。

getAddress

JMXServiceURL getAddress()

該連接器伺服器的位址。

返回:
該連接器伺服器的位址,或者如果沒有任何位址,則返回 null。

getAttributes

Map<String,?> getAttributes()

此連接器伺服器的屬性。

返回:
包含該連接器伺服器的屬性的一個只讀映射。該映射中忽略了其值不可序列化的屬性。如果沒有可序列化的屬性,則返回的映射為空。

toJMXConnector

JMXConnector toJMXConnector(Map<String,?> env)
                            throws IOException

返回此連接器伺服器的客戶端 stub。客戶端 stub 為一個可序列化的物件,其 connect 方法可用於建立一個到此連接器伺服器的新連接。

給定的連接器不必支持產生客戶端 stub。但是,由 JMX Remote API 指定的連接器必須支持產生客戶端 stub(JMXMP Connector 和 RMI Connector)。

參數:
env - 客戶端連接參數,與提供給 JMXConnector.connect(Map) 的參數具有相同的型別。可以為 null,它等效於一個空映射。
返回:
可用於建立到此連接器伺服器的新連接的客戶端 stub。
拋出:
UnsupportedOperationException - 如果此連接器伺服器不支持產生客戶端 stub。
IllegalStateException - 如果 JMXConnectorServer 未啟動(請參閱 isActive())。
IOException - 如果存在通信問題而導致無法創建 stub。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only