java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.management.modelmbean
接口 ModelMBeanInfo

所有已知实现类:
ModelMBeanInfoSupport

public interface ModelMBeanInfo

此接口由每个 ModelMBean 的 ModelMBeanInfo 实现。此接口的实现必须与每个 JMX Agent 一起发布。

Java 资源使用 MBeanServer 的 createMBean 方法来实例化 ModelMBean,以便具有可管理性。然后该资源设置 ModelMBean 实例的 ModelMBeanInfo 和 Descriptor。通过 ModelMBean 的 ModelMBeanInfo 公开的属性、操作和通知组成了管理接口,并且像其他 MBean 一样可以从 MBean、连接器/适配器进行访问。通过 Descriptor,可以定义托管应用程序中的值和方法,并可以将它们映射到 ModelMBean 的属性和操作。此映射可以在文件的开发过程中定义,也可以以编程方式在运行时动态定义。

MBeanServer 中实例化的每个 ModelMBean 都是可管理的:通过连接到该 MBeanServer 的连接器/适配器,可以远程访问其属性、操作和通知。Java 对象不能在 MBeanServer 中进行注册,除非它是 JMX 兼容的 MBean。通过实例化 ModelMBean,资源可保证 MBean 是有效的。 每个公共方法必须抛出 MBeanException 和 RuntimeOperationsException。这允许包装来自分布式通信(RMI、EJB 等)的异常。

从以下版本开始:
1.5

方法摘要
 Object clone()
          创建并返回此对象的一个副本。
 ModelMBeanAttributeInfo getAttribute(String inName)
          返回通过名称请求的 ModelMBeanAttributeInfo。
 MBeanAttributeInfo[] getAttributes()
          返回为管理公开的属性列表。
 String getClassName()
          返回此 MBeanInfo 所描述的 MBean 的 Java 类名称。
 MBeanConstructorInfo[] getConstructors()
          返回 MBean 的公共构造方法列表。
 String getDescription()
          返回 MBean 的可读描述。
 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。
 MBeanNotificationInfo[] getNotifications()
          返回 MBean 所发送的通知列表。
 ModelMBeanOperationInfo getOperation(String inName)
          返回通过名称请求的 ModelMBeanOperationInfo。
 MBeanOperationInfo[] getOperations()
          返回 MBean 的操作列表。
 void setDescriptor(Descriptor inDescriptor, String inDescriptorType)
          设置 inDescriptorType 类型的 ModelMBean 的 info 数组中的描述符。
 void setDescriptors(Descriptor[] inDescriptors)
          添加或替换 ModelMBeanInfo 中的描述符。
 void setMBeanDescriptor(Descriptor inDescriptor)
          设置 ModelMBean 的描述符。
 

方法详细信息

getDescriptors

Descriptor[] getDescriptors(String inDescriptorType)
                            throws MBeanException,
                                   RuntimeOperationsException
返回由 inDescriptorType 类型的 ModelMBeanInfo 的所有 Descriptor 组成的 Descriptor 数组。

参数:
inDescriptorType - 必须为要返回的描述符设置的 descriptorType 字段值。必须为 "mbean"、"attribute"、"operation"、"constructor" 或 "notification"。如果它为 null 或空,则将返回所有类型。
返回:
包含 inDescriptorType 类型的 ModelMBean 的所有描述符的 Descriptor 数组。
抛出:
MBeanException - 包装一个分布式通信异常。
RuntimeOperationsException - 当参数中的 descriptorType 不是以下值之一时,包装一个 IllegalArgumentException:"mbean"、"attribute"、"operation"、"constructor"、"notification"、空、 null。
另请参见:
setDescriptors(javax.management.Descriptor[])

setDescriptors

void setDescriptors(Descriptor[] inDescriptors)
                    throws MBeanException,
                           RuntimeOperationsException
添加或替换 ModelMBeanInfo 中的描述符。

参数:
inDescriptors - ModelMBeanInfo 中要设置的描述符。忽略列表中的 null 元素。所有描述符必须具有 name 和 descriptorType 字段。
抛出:
RuntimeOperationsException - 包装 null 或无效描述符的 IllegalArgumentException。
MBeanException - 包装一个分布式通信异常。
另请参见:
getDescriptors(java.lang.String)

getDescriptor

Descriptor getDescriptor(String inDescriptorName,
                         String inDescriptorType)
                         throws MBeanException,
                                RuntimeOperationsException
返回通过 name 和 descriptorType 请求的 Descriptor。

参数:
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"。
另请参见:
setDescriptor(javax.management.Descriptor, java.lang.String)

setDescriptor

void setDescriptor(Descriptor inDescriptor,
                   String inDescriptorType)
                   throws MBeanException,
                          RuntimeOperationsException
设置 inDescriptorType 类型的 ModelMBean 的 info 数组中的描述符。将调用对应 ModelMBean*Info 的 setDescriptor 方法来设置指定的描述符。

参数:
inDescriptor - ModelMBean 中要设置的描述符。它必须不为 null。所有描述符必须有 name 和 descriptorType 字段。
inDescriptorType - 要设置的描述符类型。如果它为 null,则使用描述符中的 descriptorType 字段。如果此值是指定的,则必须在描述符的 descriptorType 字段中设置它。必须为 "mbean"、"attribute"、"constructor"、"operation" 或 "notification"。
抛出:
RuntimeOperationsException - 包装非法或 null 参数的 IllegalArgumentException,或者如果在对应的 MBeanAttributeInfo、MBeanConstructorInfo、MBeanNotificationInfo 或 MBeanOperationInfo 中找不到描述符的 name 字段。
MBeanException - 包装一个分布式通信异常。
另请参见:
getDescriptor(java.lang.String, java.lang.String)

getMBeanDescriptor

Descriptor getMBeanDescriptor()
                              throws MBeanException,
                                     RuntimeOperationsException
返回包含 MBean 级策略的 ModelMBean 的描述符。此描述符包含关于 MBean 和默认持久性及缓存策略的元数据。

描述符中的字段定义如下,但不限于此:

 name           : MBean 名称  
 descriptorType : 必须为 "mbean"   
 displayName    : 要在显示中使用的属性名称
 persistPolicy  : OnUpdate|OnTimer|NoMoreOftenThan|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 字段。要指示它总是有效,请为此字段使用一个非常大的值。

返回:
MBean 描述符。
抛出:
MBeanException - 包装一个分布式通信异常。
RuntimeOperationsException - 如果获取描述符时发生 RuntimeException
另请参见:
setMBeanDescriptor(javax.management.Descriptor)

setMBeanDescriptor

void setMBeanDescriptor(Descriptor inDescriptor)
                        throws MBeanException,
                               RuntimeOperationsException
设置 ModelMBean 的描述符。此描述符包含默认的、关于 MBean 和默认持久性及缓存策略的 MBean 级元数据。此操作执行描述符的完全替换,不执行合并。如果要设置的描述符为 null,则将创建默认描述符。默认描述符为:name=mbeanName、descriptorType=mbean、displayName=this.getClassName()、 persistPolicy=never、log=F、export=F、visibility=1 如果描述符不包含所有这些字段,则将以这些默认值添加它们。 有关有效字段名称的描述,请参阅 getMBeanDescriptor 方法的 javadoc。

参数:
inDescriptor - 要设置的描述符。
抛出:
MBeanException - 包装一个分布式通信异常。
RuntimeOperationsException - 包装无效描述符的 IllegalArgumentException。
另请参见:
getMBeanDescriptor()

getAttribute

ModelMBeanAttributeInfo getAttribute(String inName)
                                     throws MBeanException,
                                            RuntimeOperationsException
返回通过名称请求的 ModelMBeanAttributeInfo。

参数:
inName - 要获取的 ModelMBeanAttributeInfo 名称。如果不存在此名称的 ModelMBeanAttributeInfo,则返回 null。
返回:
指定属性的属性信息,如果没有,则返回 null。
抛出:
MBeanException - 包装一个分布式通信异常。
RuntimeOperationsException - 包装 null 属性名称的 IllegalArgumentException。

getOperation

ModelMBeanOperationInfo getOperation(String inName)
                                     throws MBeanException,
                                            RuntimeOperationsException
返回通过名称请求的 ModelMBeanOperationInfo。

参数:
inName - 要获取的 ModelMBeanOperationInfo 名称。如果不存在此名称的 ModelMBeanOperationInfo,则返回 null。
返回:
指定操作的操作信息,如果没有,则返回 null。
抛出:
MBeanException - 包装一个分布式通信异常。
RuntimeOperationsException - 包装 null 操作名称的 IllegalArgumentException。

getNotification

ModelMBeanNotificationInfo getNotification(String inName)
                                           throws MBeanException,
                                                  RuntimeOperationsException
返回通过名称请求的 ModelMBeanNotificationInfo。

参数:
inName - 要获取的 ModelMBeanNotificationInfo 名称。如果不存在此名称的 ModelMBeanNotificationInfo,则返回 null。
返回:
指定通知的信息,如果没有,则返回 null。
抛出:
MBeanException - 包装一个分布式通信异常。
RuntimeOperationsException - 包装 null 通知名称的 IllegalArgumentException。

clone

Object clone()
创建并返回此对象的一个副本。


getAttributes

MBeanAttributeInfo[] getAttributes()
返回为管理公开的属性列表。每个属性由一个 MBeanAttributeInfo 对象描述。

返回:
MBeanAttributeInfo 对象的数组。

getClassName

String getClassName()
返回此 MBeanInfo 所描述的 MBean 的 Java 类名称。

返回:
Java 类名称。

getConstructors

MBeanConstructorInfo[] getConstructors()
返回 MBean 的公共构造方法列表。每个属性由一个 MBeanConstructorInfo 对象描述。

返回:
MBeanConstructorInfo 对象的数组。

getDescription

String getDescription()
返回 MBean 的可读描述。

返回:
描述。

getNotifications

MBeanNotificationInfo[] getNotifications()
返回 MBean 所发送的通知列表。每个通知由一个 MBeanNotificationInfo 对象描述。

除了由应用程序指定的任何通知之外,ModelMBean 还可以始终发送两个其他通知:

  • 一个通知的描述符名称为 "GENERIC",displayName 为 "jmx.modelmbean.generic" 。
  • 第二个通知是标准的属性更改通知,描述符的名称为 "ATTRIBUTE_CHANGE",displayName 为 "jmx.attribute.change"。
因此,除应用程序所指定的通知之外,ModelMBeanInfo 的任何实现应该总是添加这两个通知。

返回:
MBeanNotificationInfo 对象的数组。

getOperations

MBeanOperationInfo[] getOperations()
返回 MBean 的操作列表。每个操作由一个 MBeanOperationInfo 对象描述。

返回:
MBeanOperationInfo 对象的数组。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策