|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.management.NotificationBroadcasterSupport javax.management.remote.JMXConnectorServer
public abstract class JMXConnectorServer
每個連接器伺服器的父級類別。連接器伺服器連接到 MBean 伺服器。它偵聽客戶端連接請求並為每個請求創建連接。
連接器伺服器或者通過在該 MBean 伺服器上註冊該連接器伺服器,或者通過將 MBean 伺服器傳給其建構子來與 MBean 伺服器關聯。
連接器伺服器在創建時為非活動的。只有在調用了 start
方法後,它才開始偵聽客戶端連接。當調用了 stop
方法,或者將連接器伺服器從其 MBean 伺服器註銷後,連接器伺服器停止偵聽客戶端連接。
停止連接器伺服器並不會將它從其 MBean 伺服器註銷。連接器伺服器一旦停止就無法重新啟動。
客戶端連接每次建立或斷開都將發出一個類別 JMXConnectionNotification
的通知。
欄位摘要 | |
---|---|
static String |
AUTHENTICATOR
為連接器伺服器指定經驗證的屬性名稱。 |
建構子摘要 | |
---|---|
JMXConnectorServer()
建構一個將註冊為連接到 MBean 伺服器的 MBean 的連接器伺服器。 |
|
JMXConnectorServer(MBeanServer mbeanServer)
建構一個連接到給定 MBean 伺服器的連接器伺服器。 |
方法摘要 | |
---|---|
protected void |
connectionClosed(String connectionId,
String message,
Object userData)
正常關閉客戶端連接時由子類別調用。 |
protected void |
connectionFailed(String connectionId,
String message,
Object userData)
客戶端連接失敗時由子類別調用。 |
protected void |
connectionOpened(String connectionId,
String message,
Object userData)
打開新的客戶端連接時由子類別調用。 |
String[] |
getConnectionIds()
當前打開的到此連接器伺服器的連接 ID 列表。 |
MBeanServer |
getMBeanServer()
返回該連接器伺服器連接到的 MBean 伺服器。 |
MBeanNotificationInfo[] |
getNotificationInfo()
返回一個指示由該 MBean 發送的通知的陣列。 |
void |
postDeregister()
允許 MBean 在已從 MBean 伺服器註銷之後執行所需要的任何操作。 |
void |
postRegister(Boolean registrationDone)
允許 MBean 在被註冊到 MBean 伺服器或註銷失敗後執行任何所需要的操作。 |
void |
preDeregister()
當此連接器伺服器從 MBean 伺服器上註銷時,由該 MBean 伺服器調用此方法。 |
ObjectName |
preRegister(MBeanServer mbs,
ObjectName name)
當此連接器伺服器在 MBean 伺服器上註冊時,由該 MBean 伺服器調用此方法。 |
void |
setMBeanServerForwarder(MBeanServerForwarder mbsf)
添加一個截取對 MBean 伺服器請求的物件,該請求是通過此連接器伺服器到達的。 |
JMXConnector |
toJMXConnector(Map<String,?> env)
返回此連接器伺服器的客戶端 stub。 |
從類別 javax.management.NotificationBroadcasterSupport 繼承的方法 |
---|
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
從介面 javax.management.remote.JMXConnectorServerMBean 繼承的方法 |
---|
getAddress, getAttributes, isActive, start, stop |
從介面 javax.management.remote.JMXAddressable 繼承的方法 |
---|
getAddress |
欄位詳細資訊 |
---|
public static final String AUTHENTICATOR
為連接器伺服器指定經驗證的屬性名稱。此屬性關聯的值(如果有)必須是一個實作 JMXAuthenticator
介面的物件。
建構子詳細資訊 |
---|
public JMXConnectorServer()
建構一個將註冊為連接到 MBean 伺服器的 MBean 的連接器伺服器。此建構子通常由 createMBean
方法之一在創建(在 MBean 伺服器內)實作遠端可用的連接器伺服器時調用。
public JMXConnectorServer(MBeanServer mbeanServer)
建構一個連接到給定 MBean 伺服器的連接器伺服器。使用這樣的方法創建的連接器伺服器可註冊到一個不同的 MBean 伺服器上。
mbeanServer
- 該連接器伺服器連接到的 MBean 伺服器。如果該連接器伺服器將通過註冊的方式連接到 MBean 伺服器,則為 Null。方法詳細資訊 |
---|
public MBeanServer getMBeanServer()
返回該連接器伺服器連接到的 MBean 伺服器。
public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
JMXConnectorServerMBean
複製的描述添加一個截取對 MBean 伺服器請求的物件,該請求是通過此連接器伺服器到達的。此物件將作為任何由此連接器伺服器創建的新連接的 MBeanServer
提供。現有連接不受影響。
如果此連接器伺服器已與一個 MBeanServer
物件關聯,則將該物件提供給 mbsf.setMBeanServer
。如果這樣做產生異常,則該方法拋出相同的異常,沒有任何其他作用。
如果此連接器尚未與一個 MBeanServer
物件關聯,或者如果剛才提到的 mbsf.setMBeanServer
調用成功,則 mbsf
成為該連接器伺服器的 MBeanServer
。
JMXConnectorServerMBean
中的 setMBeanServerForwarder
mbsf
- 新的 MBeanServerForwarder
。public String[] getConnectionIds()
JMXConnectorServerMBean
複製的描述當前打開的到此連接器伺服器的連接 ID 列表。
JMXConnectorServerMBean
中的 getConnectionIds
public JMXConnector toJMXConnector(Map<String,?> env) throws IOException
返回此連接器伺服器的客戶端 stub。客戶端 stub 為一個可序列化的物件,其 connect
方法可用於建立一個到此連接器伺服器的新連接。
給定的連接器不必支持產生客戶端 stub。但是,由 JMX Remote API 指定的連接器必須支持產生客戶端 stub(JMXMP Connector 和 RMI Connector)。
此方法的預設實作使用 JMXConnectorServerMBean.getAddress()
和 JMXConnectorFactory
產生 stub,其程式碼等效於:
JMXServiceURL addr =getAddress()
; returnJMXConnectorFactory.newJMXConnector(addr, env)
;
此程式碼不適用的連接器伺服器必須覆寫此方法,這樣或者實作適當的邏輯,或者拋出 UnsupportedOperationException
。
JMXConnectorServerMBean
中的 toJMXConnector
env
- 客戶端連接參數,與提供給 JMXConnector.connect(Map)
的參數具有相同的型別。可以為 null,它等效於一個空映射。
UnsupportedOperationException
- 如果此連接器伺服器不支持產生客戶端 stub。
IllegalStateException
- 如果 JMXConnectorServer 未啟動(請參閱 JMXConnectorServerMBean.isActive()
)。
IOException
- 如果存在通信問題而導致無法創建 stub。public MBeanNotificationInfo[] getNotificationInfo()
返回一個指示由該 MBean 發送的通知的陣列。JMXConnectorServer
中的實作返回帶一個元素的陣列,這指示它可以發出在此類別中定義的型別的類別 JMXConnectionNotification
的通知。能夠發出其他通知的子類別應返回一個套件含該元素和對其他通知的描述的陣列。
NotificationBroadcaster
中的 getNotificationInfo
NotificationBroadcasterSupport
中的 getNotificationInfo
protected void connectionOpened(String connectionId, String message, Object userData)
打開新的客戶端連接時由子類別調用。將由 getConnectionIds()
返回的 connectionId
添加到列表中,然後發出一個型別為 JMXConnectionNotification.OPENED
的 JMXConnectionNotification
。
connectionId
- 新連接的 ID。它必須與任何由此連接器伺服器先前打開的連接的 ID 不一樣。message
- 發出的 JMXConnectionNotification
的訊息。可以為 null。請參閱 Notification.getMessage()
。userData
- 發出的 JMXConnectionNotification
的 userData
。可以為 null。請參閱 Notification.getUserData()
。
NullPointerException
- 如果 connectionId
為 null。protected void connectionClosed(String connectionId, String message, Object userData)
正常關閉客戶端連接時由子類別調用。從列表中移除由 getConnectionIds()
返回的 connectionId
,然後發出一個型別為 JMXConnectionNotification.CLOSED
的 JMXConnectionNotification
。
connectionId
- 已關閉連接的 ID。message
- 發出的 JMXConnectionNotification
的訊息。可以為 null。請參閱 Notification.getMessage()
。userData
- 發出的 JMXConnectionNotification
的 userData
。可以為 null。請參閱 Notification.getUserData()
。
NullPointerException
- 如果 connectionId
為 null。protected void connectionFailed(String connectionId, String message, Object userData)
客戶端連接失敗時由子類別調用。從列表中移除由 getConnectionIds()
返回的 connectionId
,然後發出一個型別為 JMXConnectionNotification.FAILED
的 JMXConnectionNotification
。
connectionId
- 失敗連接的 ID。message
- 發出的 JMXConnectionNotification
的訊息。可以為 null。請參閱 Notification.getMessage()
。userData
- 發出的 JMXConnectionNotification
的 userData
。可以為 null。請參閱 Notification.getUserData()
。
NullPointerException
- 如果 connectionId
為 null。public ObjectName preRegister(MBeanServer mbs, ObjectName name)
當此連接器伺服器在 MBean 伺服器上註冊時,由該 MBean 伺服器調用此方法。此連接器伺服器連接到此 MBean 伺服器上且其 getMBeanServer()
方法將返回 mbs
。
如果該連接器伺服器已連接到 MBean 伺服器,則該方法沒有任何作用。它所連接到的 MBean 伺服器不一定就是所註冊的 MBean 伺服器。
MBeanRegistration
中的 preRegister
mbs
- 該連接器伺服器註冊所在的 MBean 伺服器。name
- MBean 的物件名。
NullPointerException
- 如果 mbs
或 name
為 null。public void postRegister(Boolean registrationDone)
MBeanRegistration
複製的描述
MBeanRegistration
中的 postRegister
registrationDone
- 指示該 MBean 是否已在 MBean 伺服器中成功註冊。false 值意味著註冊階段已失敗。public void preDeregister() throws Exception
當此連接器伺服器從 MBean 伺服器上註銷時,由該 MBean 伺服器調用此方法。如果該連接器伺服器以註冊的方式連接到該 MBean 伺服器,並且如果該連接器伺服器仍為活動狀態,則註銷它將調用 stop
方法。如果 stop
方法拋出一個異常,則註銷嘗試將失敗。建議在註銷 MBean 之前顯式調用 stop
方法。
MBeanRegistration
中的 preDeregister
IOException
- 如果異常由 stop
方法拋出。
Exception
- MBean 伺服器會捕捉此異常並以 MBeanRegistrationException
的形式重新拋出。public void postDeregister()
MBeanRegistration
複製的描述
MBeanRegistration
中的 postDeregister
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。