JavaTM 2 Platform
Standard Ed. 6

javax.management.modelmbean
介面 ModelMBean

所有父級介面:
DynamicMBean, ModelMBeanNotificationBroadcaster, NotificationBroadcaster, PersistentMBean
所有已知實作類別:
RequiredModelMBean

public interface ModelMBean
extends DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster

ModelMBean 必須實作此介面。此介面的實作必須與每個 JMX Agent 一起分發。

Java 資源使用 MBeanServer 的 createMBean 方法來實例化 ModelMBean,以便具有可管理性。然後該資源設置 ModelMBean 實例的 ModelMBeanInfo(帶有 Descriptor)。通過 ModelMBean 的 ModelMBeanInfo 公開的屬性和操作像其他 MBean 一樣可以從 MBean、連接器/適配器進行存取。通過 ModelMBeanInfo Descriptor,可以定義托管應用程序中的值和方法,並可以將它們映射到 ModelMBean 的屬性和操作。此映射可以在 XML 格式檔案的開發過程中定義,也可以以程式方式在運行時動態定義。

在 MBeanServer 中實例化的每個 ModelMBean 都是可管理的:通過連接到該 MBeanServer 的連接器/適配器,可以遠端存取其屬性和操作。如果 Java 物件不是 JMX 相容的 MBean,則它不能在 MBeanServer 中進行註冊。通過實例化 ModelMBean,資源可保證 MBean 是有效的。

每個公共方法必須拋出 MBeanException 和 RuntimeOperationsException。這允許包裹來自分佈式通信(RMI、EJB 等)的異常。這些異常不必由實作拋出,在規範和 javadoc 中描述的情形除外。

從以下版本開始:
1.5

方法摘要
 void setManagedResource(Object mr, String mr_type)
          設置物件的實例句柄,我們將根據此句柄執行此 ModelMBean 管理介面(MBeanInfo 和 Descriptor)中的所有方法。
 void setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo)
          使用傳入的 ModelMBeanInfo 實例化 ModelMBean 物件。
 
從介面 javax.management.DynamicMBean 繼承的方法
getAttribute, getAttributes, getMBeanInfo, invoke, setAttribute, setAttributes
 
從介面 javax.management.PersistentMBean 繼承的方法
load, store
 
從介面 javax.management.modelmbean.ModelMBeanNotificationBroadcaster 繼承的方法
addAttributeChangeNotificationListener, removeAttributeChangeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification
 
從介面 javax.management.NotificationBroadcaster 繼承的方法
addNotificationListener, getNotificationInfo, removeNotificationListener
 

方法詳細資訊

setModelMBeanInfo

void setModelMBeanInfo(ModelMBeanInfo inModelMBeanInfo)
                       throws MBeanException,
                              RuntimeOperationsException
使用傳入的 ModelMBeanInfo 實例化 ModelMBean 物件。此方法能夠在 ModelMBean 上設置自定義的 ModelMBeanInfo(只要它沒有向 MBeanServer 註冊)。
一旦自定義並在 ModelMBean 上設置 ModelMBean 的 ModelMBeanInfo(帶有 Descriptor)之後,就可以向 MBeanServer 註冊 ModelMBean。

如果當前註冊 ModelMBean,則此方法拋出包裹 IllegalStateExceptionRuntimeOperationsException

參數:
inModelMBeanInfo - ModelMBean 要使用的 ModelMBeanInfo 物件。
拋出:
MBeanException - 套件裝了一個分佈式通信異常。
RuntimeOperationsException -

setManagedResource

void setManagedResource(Object mr,
                        String mr_type)
                        throws MBeanException,
                               RuntimeOperationsException,
                               InstanceNotFoundException,
                               InvalidTargetObjectTypeException
設置物件的實例句柄,我們將根據此句柄執行此 ModelMBean 管理介面(MBeanInfo 和 Descriptor)中的所有方法。

參數:
mr - 作為托管資源的物件
mr_type - 托管資源的參考型別。可以為:ObjectReference、Handle、IOR、EJBHandle 和 RMIReference。如果 MBeanServer 不能處理傳入的 mr_type,將拋出 InvalidTargetTypeException。
拋出:
MBeanException - 如果物件的初始化程序已拋出異常。
RuntimeOperationsException - 如果包裹了一個 IllegalArgumentException:傳入參數的托管資源型別為 null。
InstanceNotFoundException - 如果找不到托管資源物件。
InvalidTargetObjectTypeException - 如果 ModelMBean 或 JMX Agent 不能處理托管資源型別。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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