|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface ModelMBeanNotificationBroadcaster
ModelMBean 必須實作此介面。此介面的實作必須與每個 JMX Agent 一起發佈。
Java 資源使用 MBeanServer 的 createMBean 方法來實例化 ModelMBean,以便具有可管理性。然後該資源設置 ModelMBean 實例的 ModelMBeanInfo(帶有 Descriptor)。通過 ModelMBean 的 ModelMBeanInfo 公開的屬性和操作像其他 MBean 一樣,可以從 MBean、連接器/適配器進行存取。通過 ModelMBeanInfo Descriptor,可以定義托管應用程序中的值和方法,並可以將它們映射到 ModelMBean 的屬性和操作。此映射可以在 XML 格式的檔案的開發過程中定義,也可以以程式方式在運行時動態定義。
MBeanServer 中實例化的每個 ModelMBean 都是可管理的:通過連接到該 MBeanServer 的連接器/適配器可以遠端存取其屬性和操作。Java 物件不能在 MBeanServer 中進行註冊,除非它是 JMX 相容的 MBean。通過實例化 ModelMBean,資源可保證 MBean 是有效的。
每個公共方法必須拋出 MBeanException 和 RuntimeOperationsException。這允許包裹來自分佈式通信(RMI 和 EJB 等)的異常。除規範和 javadoc 中描述的情況外,這些異常不必由實作拋出。
方法摘要 | |
---|---|
void |
addAttributeChangeNotificationListener(NotificationListener listener,
String attributeName,
Object handback)
註冊一個將 NotificationListener 介面實作為偵聽器的物件。 |
void |
removeAttributeChangeNotificationListener(NotificationListener listener,
String attributeName)
從 RequiredModelMBean 移除一個 attributeChangeNotifications 的偵聽器。 |
void |
sendAttributeChangeNotification(Attribute oldValue,
Attribute newValue)
將包含屬性的原有值和新值的 attributeChangeNotification 發送到 ModelMBean 上已註冊的 AttributeChangeNotification 偵聽器。 |
void |
sendAttributeChangeNotification(AttributeChangeNotification notification)
將傳入的 attributeChangeNotification 發送到 ModelMBean 上已註冊的 attributeChangeNotification 偵聽器。 |
void |
sendNotification(Notification ntfyObj)
以 jmx.modelmbean.generic 通知形式將傳入的 Notification 發送到 ModelMBean 上已註冊的 Notification 偵聽器。 |
void |
sendNotification(String ntfyText)
將包含傳入文本字元串的 Notification 發送到 ModelMBean 上已註冊的 Notification 偵聽器。 |
從介面 javax.management.NotificationBroadcaster 繼承的方法 |
---|
addNotificationListener, getNotificationInfo, removeNotificationListener |
方法詳細資訊 |
---|
void sendNotification(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
ntfyObj
- 要傳遞給偵聽器物件的 'handleNotification' 方法的通知。
MBeanException
- 套件裝一個分佈式通信異常。
RuntimeOperationsException
- 套件裝一個 IllegalArgumentException:傳入參數中的 Notification 物件為 null。void sendNotification(String ntfyText) throws MBeanException, RuntimeOperationsException
ntfyText
- Notification 中要傳遞到偵聽器物件的 'handleNotification' 方法的文本。
所建構的 Notification 將為:
型別 "jmx.modelmbean.generic"
源 此 ModelMBean 實例
序列 1
MBeanException
- 套件裝一個分佈式通信異常。
RuntimeOperationsException
- 套件裝一個 IllegalArgumentException:傳入參數中的 Notification 文本字元串為 null。void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException
notification
- 要傳遞給偵聽器物件的 'handleNotification' 方法的通知。
MBeanException
- 套件裝一個分佈式通信異常。
RuntimeOperationsException
- 套件裝一個 IllegalArgumentException:傳入參數中的 AttributeChangeNotification 物件為 null。void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException
oldValue
- 屬性的原始值newValue
- 屬性的當前值
所建構的 attributeChangeNotification 將為: 型別 "jmx.attribute.change" 源 此 ModelMBean 實例 序列 1 attributeName oldValue.getName() attributeType oldValue's class attributeOldValue oldValue.getValue() attributeNewValue newValue.getValue()
MBeanException
- 套件裝一個分佈式通信異常。
RuntimeOperationsException
- 套件裝一個 IllegalArgumentException:傳入參數中的 Attribute 物件為 null,或參數中兩個 Attribute 物件的名稱不同。void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException
listener
- 將處理由已註冊的 MBean 發出的通知的偵聽器物件。attributeName
- 要為其接收更改通知的 ModelMBean 屬性名稱。如果參數為 null,則所有更改將導致發佈 attributeChangeNotification。handback
- 當發出通知時,要發送到帶有通知的偵聽器的上下文。
IllegalArgumentException
- 偵聽器不可以為 null。
MBeanException
- 套件裝一個分佈式通信異常。
RuntimeOperationsException
- 套件裝一個 IllegalArgumentException。傳入參數中的屬性名稱不存在。removeAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String)
void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException
listener
- 正在處理由註冊的 MBean 發出的通知的偵聽器名稱。此方法將移除與此偵聽器相關的所有資訊。attributeName
- 偵聽器不再為其接收 attributeChangeNotifications 的屬性。如果為 null,則將移除所有 attributeChangeNotifications 的偵聽器。
ListenerNotFoundException
- 偵聽器未在 MBean 中註冊,或為 null。
MBeanException
- 套件裝一個分佈式通信異常。
RuntimeOperationsException
- 套件裝一個 IllegalArgumentException 如果 inAttributeName 參數沒有對應一個屬性名稱。addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。