JavaTM 2 Platform
Standard Ed. 6

javax.management.modelmbean
類別 ModelMBeanInfoSupport

java.lang.Object
  繼承者 javax.management.MBeanInfo
      繼承者 javax.management.modelmbean.ModelMBeanInfoSupport
所有已實作的介面:
Serializable, Cloneable, DescriptorRead, ModelMBeanInfo

public class ModelMBeanInfoSupport
extends MBeanInfo
implements ModelMBeanInfo

此類別表示 ModelMBean 的元資料。描述符已被添加到元資料物件上。

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

MBeanServer 中實例化的每個 ModelMBean 都是可管理的:通過連接到該 MBeanServer 的連接器/適配器,可以遠端存取其屬性和操作。如果 Java 物件不是相容 JMX 的 MBean,那麼它不能在 MBeanServer 中進行註冊。通過實例化 ModelMBean,資源得到保證,因此 MBean 是有效的。每個公共方法必須拋出 MBeanException 和 RuntimeOperationsException。這允許包裹來自分佈式通信(RMI、EJB 等)的異常。

此類別的 serialVersionUID-1935722590756516193L

從以下版本開始:
1.5
另請參見:
序列化表格

建構子摘要
ModelMBeanInfoSupport(ModelMBeanInfo mbi)
          建構作為給定 ModelMBeanInfoSupport 副本的 ModelMBeanInfoSupport。
ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications)
          創建帶有所提供的資訊、但描述符為預設描述符的 ModelMBeanInfoSupport。
ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications, Descriptor mbeandescriptor)
          創建帶有所提供的資訊和參數中給出的描述符的 ModelMBeanInfoSupport。
 
方法摘要
 Object clone()
          返回此實例的淺表複製。
 ModelMBeanAttributeInfo getAttribute(String inName)
          返回通過名稱請求的 ModelMBeanAttributeInfo。
 ModelMBeanConstructorInfo getConstructor(String inName)
          返回通過名稱請求的 ModelMBeanConstructorInfo。
 Descriptor getDescriptor()
          獲取此 MBean 的描述符。
 Descriptor getDescriptor(String inDescriptorName)
          返回通過名稱請求的 Descriptor。
 Descriptor getDescriptor(String inDescriptorName, String inDescriptorType)
          返回通過 name 和 descriptorType 請求的 Descriptor。
 Descriptor[] getDescriptors(String inDescriptorType)
          返回由 inDescriptorType 型別的 ModelMBeanInfo 的所有 Descriptor 組成的 Descriptor 陣列。
 Descriptor getMBeanDescriptor()
          返回包含 MBean 級策略的 ModelMBean 的描述符。
 ModelMBeanNotificationInfo getNotification(String inName)
          返回通過名稱請求的 ModelMBeanNotificationInfo。
 ModelMBeanOperationInfo getOperation(String inName)
          返回通過名稱請求的 ModelMBeanOperationInfo。
 void setDescriptor(Descriptor inDescriptor, String inDescriptorType)
          設置 inDescriptorType 型別的 ModelMBean 的 info 陣列中的描述符。
 void setDescriptors(Descriptor[] inDescriptors)
          添加或替換 ModelMBeanInfo 中的描述符。
 void setMBeanDescriptor(Descriptor inMBeanDescriptor)
          設置 ModelMBean 的描述符。
 
從類別 javax.management.MBeanInfo 繼承的方法
equals, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations, hashCode, toString
 
從類別 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 
從介面 javax.management.modelmbean.ModelMBeanInfo 繼承的方法
getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
 

建構子詳細資訊

ModelMBeanInfoSupport

public ModelMBeanInfoSupport(ModelMBeanInfo mbi)
建構作為給定 ModelMBeanInfoSupport 副本的 ModelMBeanInfoSupport。返回物件是給定物件的淺表複製。Descriptor 或所包含的陣列(@code ModelMBeanAttributeInfo[]} 等)都不會被複製。此方法的主要作用是通過 setDescriptor 修改返回實例的 Descriptor,而不影響原物件的 Descriptor。

參數:
mbi - ModelMBeanInfo 實例,正在創建的 ModelMBeanInfo 從該實例進行實例化。

ModelMBeanInfoSupport

public ModelMBeanInfoSupport(String className,
                             String description,
                             ModelMBeanAttributeInfo[] attributes,
                             ModelMBeanConstructorInfo[] constructors,
                             ModelMBeanOperationInfo[] operations,
                             ModelMBeanNotificationInfo[] notifications)
創建帶有所提供的資訊、但描述符為預設描述符的 ModelMBeanInfoSupport。預設描述符為:name=mbeanName、descriptorType=mbean、displayName=ClassName、persistPolicy=never、log=F 和 visibility=1。

參數:
className - MBean 的類別名稱
description - ModelMBean 的可讀描述
attributes - 帶有描述符的 ModelMBeanAttributeInfo 物件陣列
constructors - 帶有描述符的 ModelMBeanConstructorInfo 物件陣列
operations - 帶有描述符的 ModelMBeanOperationInfo 物件陣列
notifications - 帶有描述符的 ModelMBeanNotificationInfo 物件陣列

ModelMBeanInfoSupport

public ModelMBeanInfoSupport(String className,
                             String description,
                             ModelMBeanAttributeInfo[] attributes,
                             ModelMBeanConstructorInfo[] constructors,
                             ModelMBeanOperationInfo[] operations,
                             ModelMBeanNotificationInfo[] notifications,
                             Descriptor mbeandescriptor)
創建帶有所提供的資訊和參數中給出的描述符的 ModelMBeanInfoSupport。

參數:
className - MBean 的類別名稱
description - ModelMBean 的可讀描述
attributes - 帶有描述符的 ModelMBeanAttributeInfo 物件陣列
constructors - 帶有描述符的 ModelMBeanConstructorInfo 物件陣列
operations - 帶有描述符的 ModelMBeanOperationInfo 物件陣列
notifications - 帶有描述符的 ModelMBeanNotificationInfo 物件陣列如果描述符為 null,則將建構預設描述符。預設描述符為:name=className、descriptorType=mbean、displayName=className、persistPolicy=never、log=F 和 visibility=1。如果描述符不包含所有這些欄位,則將用預設值添加它們。
拋出:
RuntimeOperationsException - 套件裝了針對傳入參數中的無效描述符的 IllegalArgumentException。(有關有效 MBean 描述符的定義,請參見 getMBeanDescriptor)。
方法詳細資訊

clone

public Object clone()
返回此實例的淺表複製。Descriptor 或所包含的陣列(@code ModelMBeanAttributeInfo[]} 等)都不會被複製。此方法的主要作用是通過 setDescriptor 修改副本的 Descriptor,而不影響原物件的 Descriptor。

指定者:
介面 ModelMBeanInfo 中的 clone
覆寫:
類別 MBeanInfo 中的 clone
返回:
此實例的淺表複製。
另請參見:
Cloneable

getDescriptors

public Descriptor[] getDescriptors(String inDescriptorType)
                            throws MBeanException,
                                   RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
返回由 inDescriptorType 型別的 ModelMBeanInfo 的所有 Descriptor 組成的 Descriptor 陣列。

指定者:
介面 ModelMBeanInfo 中的 getDescriptors
參數:
inDescriptorType - 必須為要返回的描述符設置的 descriptorType 欄位值。必須為 "mbean"、"attribute"、"operation"、"constructor" 或 "notification"。如果它為 null 或空,則將返回全部類別型。
返回:
包含 inDescriptorType 型別的 ModelMBean 的所有描述符的 Descriptor 陣列。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 當參數中的 descriptorType 不是以下值之一時,包裹一個 IllegalArgumentException:"mbean"、"attribute"、"operation"、"constructor"、"notification"、空、 null。
另請參見:
ModelMBeanInfo.setDescriptors(javax.management.Descriptor[])

setDescriptors

public void setDescriptors(Descriptor[] inDescriptors)
                    throws MBeanException,
                           RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
添加或替換 ModelMBeanInfo 中的描述符。

指定者:
介面 ModelMBeanInfo 中的 setDescriptors
參數:
inDescriptors - ModelMBeanInfo 中要設置的描述符。忽略列表中的 null 元素。所有描述符必須具有 name 和 descriptorType 欄位。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝 null 或無效描述符的 IllegalArgumentException。
另請參見:
ModelMBeanInfo.getDescriptors(java.lang.String)

getDescriptor

public Descriptor getDescriptor(String inDescriptorName)
                         throws MBeanException,
                                RuntimeOperationsException
返回通過名稱請求的 Descriptor。

參數:
inDescriptorName - 描述符名稱。
返回:
包含具有相同名稱的 ModelMBean 描述符的 Descriptor。如果未找到該描述符,則返回 null。
拋出:
MBeanException - 套件裝了一個分佈式通信異常。
RuntimeOperationsException - 套件裝了針對 null 名稱的 IllegalArgumentException。
另請參見:
setDescriptor(javax.management.Descriptor, java.lang.String)

getDescriptor

public Descriptor getDescriptor(String inDescriptorName,
                                String inDescriptorType)
                         throws MBeanException,
                                RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
返回通過 name 和 descriptorType 請求的 Descriptor。

指定者:
介面 ModelMBeanInfo 中的 getDescriptor
參數:
inDescriptorName - 描述符的名稱。
inDescriptorType - 要請求的描述符的型別。如果它為 null 或空,就搜尋全部類別型。有效的型別有 'mbean'、'attribute'、'constructor'、'operation'、'notification'。此值將等於所返回的描述符中的 'descriptorType' 欄位。
返回:
包含具有相同 name 和 descriptorType 的 ModelMBean 描述符的 Descriptor。如果未找到描述符,則返回 null。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝描述符的名稱為 null 的 IllegalArgumentException,或者 null 或無效型別的 IllegalArgumentException。型別必須為 "mbean"、"attribute"、"constructor"、"operation" 或 "notification"。
另請參見:
ModelMBeanInfo.setDescriptor(javax.management.Descriptor, java.lang.String)

setDescriptor

public void setDescriptor(Descriptor inDescriptor,
                          String inDescriptorType)
                   throws MBeanException,
                          RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
設置 inDescriptorType 型別的 ModelMBean 的 info 陣列中的描述符。將調用對應 ModelMBean*Info 的 setDescriptor 方法來設置指定的描述符。

指定者:
介面 ModelMBeanInfo 中的 setDescriptor
參數:
inDescriptor - ModelMBean 中要設置的描述符。它必須不為 null。所有描述符必須有 name 和 descriptorType 欄位。
inDescriptorType - 要設置的描述符型別。如果它為 null,則使用描述符中的 descriptorType 欄位。如果此值是指定的,則必須在描述符的 descriptorType 欄位中設置它。必須為 "mbean"、"attribute"、"constructor"、"operation" 或 "notification"。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝非法或 null 參數的 IllegalArgumentException,或者如果在對應的 MBeanAttributeInfo、MBeanConstructorInfo、MBeanNotificationInfo 或 MBeanOperationInfo 中找不到描述符的 name 欄位。
另請參見:
ModelMBeanInfo.getDescriptor(java.lang.String, java.lang.String)

getAttribute

public ModelMBeanAttributeInfo getAttribute(String inName)
                                     throws MBeanException,
                                            RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
返回通過名稱請求的 ModelMBeanAttributeInfo。

指定者:
介面 ModelMBeanInfo 中的 getAttribute
參數:
inName - 要獲取的 ModelMBeanAttributeInfo 名稱。如果不存在此名稱的 ModelMBeanAttributeInfo,則返回 null。
返回:
指定屬性的屬性資訊,如果沒有,則返回 null。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝 null 屬性名稱的 IllegalArgumentException。

getOperation

public ModelMBeanOperationInfo getOperation(String inName)
                                     throws MBeanException,
                                            RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
返回通過名稱請求的 ModelMBeanOperationInfo。

指定者:
介面 ModelMBeanInfo 中的 getOperation
參數:
inName - 要獲取的 ModelMBeanOperationInfo 名稱。如果不存在此名稱的 ModelMBeanOperationInfo,則返回 null。
返回:
指定操作的操作資訊,如果沒有,則返回 null。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝 null 操作名稱的 IllegalArgumentException。

getConstructor

public ModelMBeanConstructorInfo getConstructor(String inName)
                                         throws MBeanException,
                                                RuntimeOperationsException
返回通過名稱請求的 ModelMBeanConstructorInfo。如果不存在具有此名稱的 ModelMBeanConstructorInfo,則返回 null。

參數:
inName - 建構子名稱。
返回:
指定建構子的建構子資訊,如果沒有這類別資訊,則返回 null。
拋出:
MBeanException - 套件裝了一個分佈式通信異常。
RuntimeOperationsException - 套件裝了針對 null 建構子名稱的 IllegalArgumentException。

getNotification

public ModelMBeanNotificationInfo getNotification(String inName)
                                           throws MBeanException,
                                                  RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
返回通過名稱請求的 ModelMBeanNotificationInfo。

指定者:
介面 ModelMBeanInfo 中的 getNotification
參數:
inName - 要獲取的 ModelMBeanNotificationInfo 名稱。如果不存在此名稱的 ModelMBeanNotificationInfo,則返回 null。
返回:
指定通知的資訊,如果沒有,則返回 null。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝 null 通知名稱的 IllegalArgumentException。

getDescriptor

public Descriptor getDescriptor()
從類別 MBeanInfo 複製的描述
獲取此 MBean 的描述符。更改返回值對原描述符沒有影響。

指定者:
介面 DescriptorRead 中的 getDescriptor
覆寫:
類別 MBeanInfo 中的 getDescriptor
返回:
一個描述符,可能是不可變的,也可能是原描述符的副本。
從以下版本開始:
1.6

getMBeanDescriptor

public Descriptor getMBeanDescriptor()
                              throws MBeanException
從介面 ModelMBeanInfo 複製的描述
返回包含 MBean 級策略的 ModelMBean 的描述符。此描述符包含關於 MBean 和預設持久性及快取記憶體策略的元資料。

描述符中的欄位定義如下,但不限於此:

 name           : MBean 名稱  
 descriptorType : 必須為 "mbean"   
 displayName    : 要在顯示中使用的屬性名稱
 persistPolicy  : OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never  
 persistLocation : 應在其中保持 MBean 的完全限定目錄名(如果適當)。
 persistFile    : 應在其中保持 MBean 的檔案名稱。
 persistPeriod  : 秒數 -  OnTime 和 NoMoreOftenThan PersistPolicy 的保持週期的頻率
 currencyTimeLimit : 值保持有效的時間,<0 為無效,=0 為總是有效,>0 為有效的秒數
 log            : 其中 t:記錄所有通知;f:不記錄通知
 logfile        : 要記錄事件的完全限定檔案名
 visibility     : 1-4,其中 1:總是可見;4:幾乎不可見
 export         : 要用於導出/公開此 MBean 的名稱,以便其他 JMX Agent 可以找到它
                     
 presentationString : 允許資料與 MBean 關聯的 xml 格式的字元串。 
 

預設描述符為:name=mbeanName、descriptorType=mbean、displayName=this.getClassName()、persistPolicy=never、log=F、export=F、visibility=1 如果描述符不包含所有這些欄位,則將以這些預設值添加它們。

註:由於與此規範的以前版本不一致,因此對於 currencyTimeLimit,推薦不使用負值或零。要指示某個快取記憶體的值永遠無效,請忽略 currencyTimeLimit 欄位。要指示它總是有效,請為此欄位使用一個非常大的值。

指定者:
介面 ModelMBeanInfo 中的 getMBeanDescriptor
返回:
MBean 描述符。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
另請參見:
ModelMBeanInfo.setMBeanDescriptor(javax.management.Descriptor)

setMBeanDescriptor

public void setMBeanDescriptor(Descriptor inMBeanDescriptor)
                        throws MBeanException,
                               RuntimeOperationsException
從介面 ModelMBeanInfo 複製的描述
設置 ModelMBean 的描述符。此描述符包含預設的、關於 MBean 和預設持久性及快取記憶體策略的 MBean 級元資料。此操作執行描述符的完全替換,不執行合併。如果要設置的描述符為 null,則將創建預設描述符。預設描述符為:name=mbeanName、descriptorType=mbean、displayName=this.getClassName()、 persistPolicy=never、log=F、export=F、visibility=1 如果描述符不包含所有這些欄位,則將以這些預設值添加它們。 有關有效欄位名稱的描述,請參閱 getMBeanDescriptor 方法的 javadoc。

指定者:
介面 ModelMBeanInfo 中的 setMBeanDescriptor
參數:
inMBeanDescriptor - 要設置的描述符。
拋出:
MBeanException - 套件裝一個分佈式通信異常。
RuntimeOperationsException - 套件裝無效描述符的 IllegalArgumentException。
另請參見:
ModelMBeanInfo.getMBeanDescriptor()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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