JavaTM 2 Platform
Standard Ed. 6

javax.management
介面 MBeanServerConnection

所有已知子介面:
MBeanServer, MBeanServerForwarder

public interface MBeanServerConnection

此介面表示了與 MBean 伺服器(無論是本地的還是遠端的)進行通信的一種方式。表示本地 MBean 伺服器的 MBeanServer 介面擴展了此介面。

從以下版本開始:
1.5

方法摘要
 void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
          向已註冊的 MBean 添加一個偵聽器。
 void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          向已註冊的 MBean 添加一個偵聽器。
 ObjectInstance createMBean(String className, ObjectName name)
          在 MBean 伺服器中實例化並註冊一個 MBean。
 ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature)
          在 MBean 伺服器中實例化並註冊一個 MBean。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName)
          在 MBean 伺服器中實例化並註冊一個 MBean。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)
          在 MBean 伺服器中實例化並註冊一個 MBean。
 Object getAttribute(ObjectName name, String attribute)
          獲得指定 MBean 的特定屬性值。
 AttributeList getAttributes(ObjectName name, String[] attributes)
          獲得指定 MBean 的多個屬性值。
 String getDefaultDomain()
          返回對 MBean 命名時使用的預設域。
 String[] getDomains()
          返回其中所有 MBean 當前已註冊的域的列表。
 Integer getMBeanCount()
          返回 MBean 伺服器中已註冊的 MBean 數目。
 MBeanInfo getMBeanInfo(ObjectName name)
          此方法發現了 MBean 為管理而公開的屬性和操作。
 ObjectInstance getObjectInstance(ObjectName name)
          獲得向 MBean 伺服器註冊的給定 MBean 的 ObjectInstance
 Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
          在 MBean 上調用某個操作。
 boolean isInstanceOf(ObjectName name, String className)
          如果指定的 MBean 是指定類別的一個實例,則返回 true;否則返回 false。
 boolean isRegistered(ObjectName name)
          檢查某個 MBean(通過其物件名標識)是否已向 MBean 伺服器註冊。
 Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)
          獲得該 MBean 伺服器所控制的 MBean。
 Set<ObjectName> queryNames(ObjectName name, QueryExp query)
          獲得該 MBean 伺服器所控制的 MBean 的名稱。
 void removeNotificationListener(ObjectName name, NotificationListener listener)
          從已註冊的 MBean 中移除一個偵聽器。
 void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
          從已註冊的 MBean 中移除一個偵聽器。
 void removeNotificationListener(ObjectName name, ObjectName listener)
          從已註冊的 MBean 中移除一個偵聽器。
 void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          從已註冊的 MBean 中移除一個偵聽器。
 void setAttribute(ObjectName name, Attribute attribute)
          設置指定 MBean 的特定屬性值。
 AttributeList setAttributes(ObjectName name, AttributeList attributes)
          設置指定 MBean 的多個屬性值。
 void unregisterMBean(ObjectName name)
          從 MBean 伺服器中註銷一個 MBean。
 

方法詳細資訊

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException

在 MBean 伺服器中實例化並註冊一個 MBean。MBean 伺服器將使用其預設的 Loader Repository 來載入 MBean 的類別。物件名與該 MBean 相關聯。如果給定的物件名為 null,則該 MBean 必須提供自己的名稱,方法是實作 MBeanRegistration 介面並從 preRegister 方法中返回名稱。

此方法等效於 createMBean(className, name, (Object[]) null, (String[]) null)

參數:
className - 要實例化的 MBean 的類別名。
name - 該 MBean 的物件名。可以為 null。
返回:
一個 ObjectInstance,包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果包含的 ObjectNamen,則所包含的 Java 類別名是 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 套件裝在試圖調用 MBean 的建構子時所出現的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果該 MBean 已經處於 MBean 伺服器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 介面)方法已經拋出異常。不註冊該 MBean。
MBeanException - 如果 MBean 的建構子已經拋出異常
NotCompliantMBeanException - 如果此類別不是符合 JMX 的 MBean
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果傳入參數中的 className 為 null,傳入參數中的 ObjectName 套件含一個網要或者沒有為該 MBean 指定 ObjectName
IOException - 如果與 MBean 伺服器通信時出現通信問題。

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException

在 MBean 伺服器中實例化並註冊一個 MBean。通過其物件名標識使用的類別載入器。物件名與該 MBean 相關聯。如果載入器的物件名為 null,則將使用載入 MBean 伺服器的 ClassLoader。如果給定的 MBean 物件名為 null,則該 MBean 必須提供自己的名稱,方法是實作 MBeanRegistration 介面並從 preRegister 方法中返回名稱。

此方法等效於 createMBean(className, name, loaderName, (Object[]) null, (String[]) null)

參數:
className - 要實例化的 MBean 的類別名。
name - 該 MBean 的物件名。可以為 null。
loaderName - 要使用的類別載入器的物件名。
返回:
一個 ObjectInstance,包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果包含的 ObjectNamen,則所包含的 Java 類別名是 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 套件裝在試圖調用 MBean 的建構子時所出現的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果該 MBean 已經處於 MBean 伺服器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 介面)方法已經拋出異常。不註冊該 MBean。
MBeanException - 如果 MBean 的建構子已經拋出異常。
NotCompliantMBeanException - 如果此類別不是符合 JMX 的 MBean。
InstanceNotFoundException - 如果未在 MBean 伺服器中註冊指定的類別載入器。
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果傳入參數中的 className 為 null,傳入參數中的 ObjectName 套件含一個網要或者沒有為該 MBean 指定 ObjectName
IOException - 如果與 MBean 伺服器通信時出現通信問題。

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           Object[] params,
                           String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException
在 MBean 伺服器中實例化並註冊一個 MBean。MBean 伺服器將使用其預設的 Loader Repository 來載入 MBean 的類別。物件名與該 MBean 相關聯。如果給定的物件名為 null,則該 MBean 必須提供自己的名稱,方法是實作 MBeanRegistration 介面並從 preRegister 方法中返回名稱。

參數:
className - 要實例化的 MBean 的類別名。
name - 該 MBean 的物件名。可以為 null。
params - 一個陣列,包含要調用的建構子的參數。
signature - 一個陣列,包含要調用的建構子的簽章。
返回:
一個 ObjectInstance,包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果包含的 ObjectNamen,則所包含的 Java 類別名是 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 套件裝在試圖調用 MBean 的建構子時所出現的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果該 MBean 已經處於 MBean 伺服器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 介面)方法已經拋出異常。不註冊該 MBean。
MBeanException - 如果 MBean 的建構子已經拋出異常
NotCompliantMBeanException - 如果此類別不是符合 JMX 的 MBean
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果傳入參數中的 className 為 null,傳入參數中的 ObjectName 套件含一個網要或者沒有為該 MBean 指定 ObjectName
IOException - 如果與 MBean 伺服器通信時出現通信問題。

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName,
                           Object[] params,
                           String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException
在 MBean 伺服器中實例化並註冊一個 MBean。通過其物件名標識使用的類別載入器。物件名與該 MBean 相關聯。如果未指定載入器的物件名,則將使用載入 MBean 伺服器的 ClassLoader。如果給定的 MBean 物件名為 null,則該 MBean 必須提供自己的名稱,方法是實作 MBeanRegistration 介面並從 preRegister 方法中返回名稱。

參數:
className - 要實例化的 MBean 的類別名。
name - 該 MBean 的物件名。可以為 null。
params - 一個陣列,包含要調用的建構子的參數。
signature - 一個陣列,包含要調用的建構子的簽章。
loaderName - 要使用的類別載入器的物件名。
返回:
一個 ObjectInstance,包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果包含的 ObjectNamen,則所包含的 Java 類別名是 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 套件裝在試圖調用 MBean 的建構子時所出現的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果該 MBean 已經處於 MBean 伺服器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 介面)方法已經拋出異常。不註冊該 MBean。
MBeanException - 如果 MBean 的建構子已經拋出異常
NotCompliantMBeanException - 如果此類別不是符合 JMX 的 MBean
InstanceNotFoundException - 如果未在 MBean 伺服器中註冊指定的類別載入器。
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果傳入參數中的 className 為 null,傳入參數中的 ObjectName 套件含一個網要或者沒有為該 MBean 指定 ObjectName
IOException - 如果與 MBean 伺服器通信時出現通信問題。

unregisterMBean

void unregisterMBean(ObjectName name)
                     throws InstanceNotFoundException,
                            MBeanRegistrationException,
                            IOException
從 MBean 伺服器中註銷一個 MBean。通過 MBean 的物件名來標識 MBean。一旦調用了該方法,就無法再通過 MBean 的物件名來存取該 MBean。

參數:
name - 要註銷的 MBean 的物件名。
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
MBeanRegistrationException - 如果 MBean 的 preDeregister(MBeanRegistration 介面)方法已經拋出異常。
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果參數中的物件名為 null,或者試圖註銷的 MBean 是 MBeanServerDelegate MBean。
IOException - 如果與 MBean 伺服器通信時出現通信問題。

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name)
                                 throws InstanceNotFoundException,
                                        IOException
獲得向 MBean 伺服器註冊的給定 MBean 的 ObjectInstance

參數:
name - MBean 的物件名。
返回:
name 所指定的 MBean 相關聯的 ObjectInstance。包含的 ObjectNamename, 且所包含的類別名是 getMBeanInfo(name).getClassName()
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
IOException - 如果與 MBean 伺服器通信時出現通信問題。

queryMBeans

Set<ObjectInstance> queryMBeans(ObjectName name,
                                QueryExp query)
                                throws IOException
獲得該 MBean 伺服器所控制的 MBean。此方法允許獲得下列任意內容:所有 MBean、由與 ObjectName 和/或 Query 表達式相比對的網要所指定的一組 MBean、一個特定的 MBean。當物件名為 null 並且未指定域和鍵屬性時,會選中所有物件(如果指定了查詢,則進行過濾)。它返回已選中 MBean 的 ObjectInstance 物件集(包含 ObjectName 和 Java 類別名)

參數:
name - 物件名網要,標識要檢索的 MBean。如果為 null 或未指定域和鍵屬性,則檢索所有已註冊的 MBean。
query - 應用到所選 MBean 的查詢表達式。如果為 null,則不對所選的 MBean 應用查詢表達式。
返回:
包含所選的 MBean 的 ObjectInstance 物件的集合。如果沒有滿足該查詢的 MBean,則返回一個空列表。
拋出:
IOException - 如果與 MBean 伺服器通信時出現通信問題。

queryNames

Set<ObjectName> queryNames(ObjectName name,
                           QueryExp query)
                           throws IOException
獲得該 MBean 伺服器所控制的 MBean 的名稱。此方法允許獲得下列任意內容:所有 MBean 的名稱、由與 ObjectName 和/或 Query 表達式相比對的網要所指定的一組 MBean 的名稱、一個特定 MBean 的名稱(等效於測試是否已註冊某個 MBean)。當物件名為 null 並且未指定域和鍵屬性時,會選中所有物件(如果指定了查詢,則進行過濾)。它返回已選中的 MBean 的 ObjectNames 集合。

參數:
name - 物件名網要,標識要檢索的 MBean 名稱。如果為 null 或未指定域和鍵屬性,則檢索所有已註冊的 MBean 的名稱。
query - 應用到所選 MBean 的查詢表達式。如果為 null,則不對選中 MBean 應用查詢表達式。
返回:
一個集合,包含已選中 MBean 的 ObjectNames。如果沒有滿足該查詢的 MBean,則返回一個空列表。
拋出:
IOException - 如果與 MBean 伺服器通信時出現通信問題。

isRegistered

boolean isRegistered(ObjectName name)
                     throws IOException
檢查某個 MBean(通過其物件名標識)是否已向 MBean 伺服器註冊。

參數:
name - 要檢查的 MBean 的物件名。
返回:
如果已在 MBean 伺服器中註冊了該 MBean,則返回 True;否則返回 false。
拋出:
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果參數中的物件名為 null。
IOException - 如果與 MBean 伺服器通信時出現通信問題。

getMBeanCount

Integer getMBeanCount()
                      throws IOException
返回 MBean 伺服器中已註冊的 MBean 數目。

返回:
已註冊的 MBean 數。
拋出:
IOException - 如果與 MBean 伺服器通信時出現通信問題。

getAttribute

Object getAttribute(ObjectName name,
                    String attribute)
                    throws MBeanException,
                           AttributeNotFoundException,
                           InstanceNotFoundException,
                           ReflectionException,
                           IOException
獲得指定 MBean 的特定屬性值。通過 MBean 的物件名來標識 MBean。

參數:
name - MBean 的物件名,要通過該物件名檢索 MBean 的屬性。
attribute - 指定要檢索的屬性名的 String。
返回:
檢索到的屬性值。
拋出:
AttributeNotFoundException - 如果指定的屬性在 MBean 中是不可存取的。
MBeanException - 套件裝 MBean 的獲取方法所拋出的異常。
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
ReflectionException - 套件裝試圖調用設置方法時所拋出的 java.lang.Exception
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果參數中的物件名為 null 或者參數中的屬性為 null。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
setAttribute(javax.management.ObjectName, javax.management.Attribute)

getAttributes

AttributeList getAttributes(ObjectName name,
                            String[] attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException,
                                   IOException
獲得指定 MBean 的多個屬性值。通過 MBean 的物件名來標識 MBean。

參數:
name - MBean 的物件名,通過該物件名檢索該 MBean 的屬性。
attributes - 要檢索的屬性列表。
返回:
檢索到的屬性列表。
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
ReflectionException - 試圖調用 Dynamic MBean 的 getAttributes 方法時拋出的異常。
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果參數中的物件名為 null 或者參數中的屬性為 null。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
setAttributes(javax.management.ObjectName, javax.management.AttributeList)

setAttribute

void setAttribute(ObjectName name,
                  Attribute attribute)
                  throws InstanceNotFoundException,
                         AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException,
                         IOException
設置指定 MBean 的特定屬性值。通過 MBean 的物件名來標識 MBean。

參數:
name - 要設置其屬性的 MBean 的名稱。
attribute - 要設置的屬性的標識及其要設置成的值。
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
AttributeNotFoundException - 如果指定的屬性在 MBean 中是不可存取的。
InvalidAttributeValueException - 如果為該屬性指定的值無效。
MBeanException - 套件裝 MBean 的設置方法所拋出的異常。
ReflectionException - 套件裝試圖調用設置方法時所拋出的 java.lang.Exception
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果參數中的物件名為 null 或者參數中的屬性為 null。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
getAttribute(javax.management.ObjectName, java.lang.String)

setAttributes

AttributeList setAttributes(ObjectName name,
                            AttributeList attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException,
                                   IOException
設置指定 MBean 的多個屬性值。通過 MBean 的物件名來標識 MBean。

參數:
name - 要設置其屬性的 MBean 的物件名。
attributes - 屬性列表:要設置的屬性的標識及其要設置成的值。
返回:
已設置的屬性的列表,以及它們的新值。
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
ReflectionException - 試圖調用 Dynamic MBean 的 getAttributes 方法時拋出的異常。
RuntimeOperationsException - 套件裝 java.lang.IllegalArgumentException:如果參數中的物件名為 null 或者參數中的屬性為 null。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
getAttributes(javax.management.ObjectName, java.lang.String[])

invoke

Object invoke(ObjectName name,
              String operationName,
              Object[] params,
              String[] signature)
              throws InstanceNotFoundException,
                     MBeanException,
                     ReflectionException,
                     IOException
在 MBean 上調用某個操作。

參數:
name - MBean 的物件名,要在該 MBean 上調用方法。
operationName - 要調用的操作名。
params - 一個陣列,包含調用操作時要設置的參數
signature - 套件含操作簽章的陣列。用於載入類別物件的類別載入器與用於載入 MBean(要在其上調用操作)的類別載入器相同。
返回:
該操作返回的物件,表示在指定 MBean 上調用該操作的結果。
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
MBeanException - 套件裝在 MBean 上調用的方法所拋出的異常。
ReflectionException - 套件裝試圖調用該方法時所拋出的 java.lang.Exception
IOException - 如果與 MBean 伺服器通信時出現通信問題。

getDefaultDomain

String getDefaultDomain()
                        throws IOException
返回對 MBean 命名時使用的預設域。如果使用者未指定域,則將預設域名用作 MBean 的 ObjectName 的域部分。

返回:
預設域。
拋出:
IOException - 如果與 MBean 伺服器通信時出現通信問題。

getDomains

String[] getDomains()
                    throws IOException

返回其中所有 MBean 當前已註冊的域的列表。當且僅當至少有一個已註冊的 MBean 並且其 ObjectName 的 getDomain() 等於某個字元串時,返回的陣列中才有該字元串。返回陣列中各個字元串的順序是未定義的。

返回:
域列表。
拋出:
IOException - 如果與 MBean 伺服器通信時出現通信問題。

addNotificationListener

void addNotificationListener(ObjectName name,
                             NotificationListener listener,
                             NotificationFilter filter,
                             Object handback)
                             throws InstanceNotFoundException,
                                    IOException

向已註冊的 MBean 添加一個偵聽器。

MBeanServer 將 MBean 發出的通知轉發到該偵聽器。如果通知源是對 MBean 物件的參考,則 MBean 伺服器將根據 MBean 的 ObjectName 替換它。否則不更改通知源。

參數:
name - MBean 的名稱,將在該 MBean 上添加偵聽器。
listener - 偵聽器物件,它將處理已註冊的 MBean 所發出的通知。
filter - 過濾器物件。如果 filter 為 null,則處理通知前不執行過濾。
handback - 發出通知時要發送到偵聽器的上下文。
拋出:
InstanceNotFoundException - 如果提供的 MBean 與任何已註冊 MBean 都不比對。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
removeNotificationListener(ObjectName, NotificationListener), removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

addNotificationListener

void addNotificationListener(ObjectName name,
                             ObjectName listener,
                             NotificationFilter filter,
                             Object handback)
                             throws InstanceNotFoundException,
                                    IOException

向已註冊的 MBean 添加一個偵聽器。

MBeanServer 將 MBean 發出的通知轉發到該偵聽器。如果通知源是對 MBean 物件的參考,則 MBean 伺服器將根據 MBean 的 ObjectName 替換它。否則不更改通知源。

接收通知的偵聽器物件是在調用此方法時使用給定名稱註冊的。即使之後註銷了該偵聽器,它也將繼續接收通知。

參數:
name - MBean 的名稱,將在該 MBean 上添加偵聽器。
listener - 偵聽器的物件名,它將處理已註冊的 MBean 所發出的通知。
filter - 過濾器物件。如果 filter 為 null,則處理通知前不執行過濾。
handback - 發出通知時要發送到偵聽器的上下文。
拋出:
InstanceNotFoundException - 如果通知偵聽器或者通知廣播器的 MBean 名與任何已註冊的 MBean 都不比對。
RuntimeOperationsException - 套件裝 IllegalArgumentException。如果 listener 指定的 MBean 存在但是未實作 NotificationListener 介面。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
removeNotificationListener(ObjectName, ObjectName), removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException
從已註冊的 MBean 中移除一個偵聽器。

如果可能使用不同過濾器或回調多次註冊了該偵聽器,則此方法將移除所有這些註冊關係。

參數:
name - MBean 的名稱,將移除該 MBean 上的偵聽器。
listener - 要移除的偵聽器的物件名。
拋出:
InstanceNotFoundException - 如果提供的 MBean 與任何已註冊 MBean 都不比對。
ListenerNotFoundException - 如果該偵聽器未在 MBean 中註冊。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener,
                                NotificationFilter filter,
                                Object handback)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException

從已註冊的 MBean 中移除一個偵聽器。

該 MBean 必須具有一個與給定 listenerfilterhandback 參數完全比對的偵聽器。如果存在多個這樣的偵聽器,則只移除一個。

當且僅當 filterhandback 在要移除的偵聽器中為 null 時,這兩個參數才可以為 null。

參數:
name - MBean 的名稱,將移除該 MBean 上的偵聽器。
listener - 要移除的偵聽器的物件名。
filter - 添加偵聽器時所指定的過濾器。
handback - 添加偵聽器時所指定的回調。
拋出:
InstanceNotFoundException - 如果提供的 MBean 與任何已註冊 MBean 都不比對。
ListenerNotFoundException - 如果偵聽器未在 MBean 中註冊,或者沒有用給定的過濾器和回調註冊它。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                NotificationListener listener)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException

從已註冊的 MBean 中移除一個偵聽器。

如果可能使用不同過濾器或回調多次註冊了該偵聽器,則此方法將移除所有這些註冊關係。

參數:
name - MBean 的名稱,將移除該 MBean 上的偵聽器。
listener - 要移除的偵聽器。
拋出:
InstanceNotFoundException - 如果提供的 MBean 與任何已註冊 MBean 都不比對。
ListenerNotFoundException - 如果該偵聽器未在 MBean 中註冊。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                NotificationListener listener,
                                NotificationFilter filter,
                                Object handback)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException

從已註冊的 MBean 中移除一個偵聽器。

該 MBean 必須具有一個與給定 listenerfilterhandback 參數完全比對的偵聽器。如果存在多個這樣的偵聽器,則只移除一個。

當且僅當 filterhandback 在要移除的偵聽器中為 null 時,這兩個參數才可以為 null。

參數:
name - MBean 的名稱,將移除該 MBean 上的偵聽器。
listener - 要移除的偵聽器。
filter - 添加偵聽器時所指定的過濾器。
handback - 添加偵聽器時所指定的回調。
拋出:
InstanceNotFoundException - 如果提供的 MBean 與任何已註冊 MBean 都不比對。
ListenerNotFoundException - 如果偵聽器未在 MBean 中註冊,或者沒有用給定的過濾器和回調註冊它。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

getMBeanInfo

MBeanInfo getMBeanInfo(ObjectName name)
                       throws InstanceNotFoundException,
                              IntrospectionException,
                              ReflectionException,
                              IOException
此方法發現了 MBean 為管理而公開的屬性和操作。

參數:
name - 要分析的 MBean 名稱
返回:
一個 MBeanInfo 實例,允許檢索此 MBean 的所有屬性和操作。
拋出:
IntrospectionException - 如果在 introspection 期間出現異常。
InstanceNotFoundException - 如果未找到指定的 MBean。
ReflectionException - 試圖調用 Dynamic MBean 的 getMBeanInfo 方法時拋出的異常。
IOException - 如果與 MBean 伺服器通信時出現通信問題。

isInstanceOf

boolean isInstanceOf(ObjectName name,
                     String className)
                     throws InstanceNotFoundException,
                            IOException

如果指定的 MBean 是指定類別的一個實例,則返回 true;否則返回 false。

如果 name 不是 MBean 的名稱,則此方法拋出 InstanceNotFoundException

否則,假定
X 是 name 所命名的 MBean、
L 是 X 的 ClassLoader、
N 是 X 的 MBeanInfo 中的類別名。

如果 N 等於 className,則結果為 true。

如果 L 成功載入了 className,並且 X 是此類別的一個實例,則結果為 true。

如果 L 成功載入了 N 和 className,並且由於第一個類別而使第二個類別是可分派的,則結果為 true。

否則結果為 false。

參數:
name - MBean 的 ObjectName
className - 類別名。
返回:
如果根據上述規則,指定的 MBean 是指定類別的實例,則返回 true;否則返回 false。
拋出:
InstanceNotFoundException - 如果指定的 MBean 未在該 MBean 伺服器中註冊。
IOException - 如果與 MBean 伺服器通信時出現通信問題。
另請參見:
Class.isInstance(java.lang.Object)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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