- java.lang.Object
-
- javax.management.MBeanInfo
-
- javax.management.modelmbean.ModelMBeanInfoSupport
-
- All Implemented Interfaces:
-
Serializable
,Cloneable
,DescriptorRead
,ModelMBeanInfo
public class ModelMBeanInfoSupport extends MBeanInfo implements ModelMBeanInfo
此类表示ModelMBeans的元数据。 描述符已添加到元数据对象上。希望可管理的Java资源使用MBeanServer的createMBean方法实例化ModelMBean。 资源然后设置ModelMBean实例的ModelMBeanInfo和Descriptors。 通过ModelMBeanInfo为ModelMBean公开的属性和操作可以从MBean,连接器/适配器(如其他MBean)访问。 通过描述符,可以将托管应用程序中的值和方法定义并映射到ModelMBean的属性和操作。 该映射可以在文件开发过程中定义,也可以在运行时以动态和编程方式进行定义。
在MBeanServer中实例化的每个ModelMBean变得可管理:通过连接到该MBeanServer的连接器/适配器,其属性和操作可以远程访问。 除非是符合JMX的MBean,否则不能在MBeanServer中注册Java对象。 通过实例化一个ModelMBean,保证MBean有效的资源。 必须在每个公共方法上抛出MBeanException和RuntimeOperationsException。 这允许从分布式通信(RMI,EJB等)中包装异常
该类的serialVersionUID为
-1935722590756516193L
。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 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。ModelMBeanInfoSupport(ModelMBeanInfo mbi)
构造一个ModelMBeanInfoSupport,它与给定的ModelMBeanInfo重复。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Object
clone()
返回此实例的浅克隆。ModelMBeanAttributeInfo
getAttribute(String inName)
返回名称请求的ModelMBeanAttributeInfo。ModelMBeanConstructorInfo
getConstructor(String inName)
返回名称请求的ModelMBeanConstructorInfo。Descriptor
getDescriptor()
获取此MBeanInfo的描述符。Descriptor
getDescriptor(String inDescriptorName)
返回名称请求的描述符。Descriptor
getDescriptor(String inDescriptorName, String inDescriptorType)
返回由name和descriptorType请求的描述符。Descriptor[]
getDescriptors(String inDescriptorType)
返回一个Descriptor数组,它由TypeDelegorType类型的ModelMBeanInfo的所有描述符组成。Descriptor
getMBeanDescriptor()
返回包含MBean宽策略的ModelMBean描述符。ModelMBeanNotificationInfo
getNotification(String inName)
返回名称请求的ModelMBeanNotificationInfo。ModelMBeanOperationInfo
getOperation(String inName)
返回名称请求的ModelMBeanOperationInfo。void
setDescriptor(Descriptor inDescriptor, String inDescriptorType)
在ModelMBean的类型为inDescriptorType的info数组中设置描述符。void
setDescriptors(Descriptor[] inDescriptors)
在ModelMBeanInfo中添加或替换描述符。void
setMBeanDescriptor(Descriptor inMBeanDescriptor)
设置ModelMBean的描述符。-
Methods inherited from class javax.management.MBeanInfo
equals, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations, hashCode, toString
-
Methods inherited from interface javax.management.modelmbean.ModelMBeanInfo
getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
-
-
-
-
构造方法详细信息
-
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(ModelMBeanInfo mbi)
构造一个ModelMBeanInfoSupport,它与给定的ModelMBeanInfo重复。 返回的对象是给定对象的浅层副本。 描述符和包含的数组(ModelMBeanAttributeInfo[]
等)都不被克隆。 这种方法主要是通过setDescriptor
修改返回实例的描述符,而不影响原始对象的描述符。- 参数
-
mbi
- 创建的ModelMBeanInfo的ModelMBeanInfo实例已初始化。
-
ModelMBeanInfoSupport
public ModelMBeanInfoSupport(String className, String description, ModelMBeanAttributeInfo[] attributes, ModelMBeanConstructorInfo[] constructors, ModelMBeanOperationInfo[] operations, ModelMBeanNotificationInfo[] notifications)
使用提供的信息创建一个ModelMBeanInfoSupport,但描述符是默认值。 默认描述符为:name = className,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对象的数组 -
mbeandescriptor
- 要用作包含MBean宽策略的MBeanDescriptor的描述符。 如果描述符为空,则将构建默认描述符。 默认描述符为:name = className,descriptorType =“mbean”,displayName = className,persistPolicy =“never”,log =“F”,visibility =“1”。 如果描述符不包含所有这些字段,则缺少的字段将添加这些默认值。 - 异常
-
RuntimeOperationsException
- 在参数中传递的无效描述符包裹一个IllegalArgumentException。 (有关MBean描述符的定义,请参阅getMBeanDescriptor
)。
-
-
方法详细信息
-
clone
public Object clone()
返回此实例的浅克隆。 描述符和包含的数组(ModelMBeanAttributeInfo[]
等)都不被克隆。 这种方法主要是通过setDescriptor
修改克隆的描述符,而不影响原始对象的描述符。- Specified by:
-
clone
在接口ModelMBeanInfo
- 重写:
-
clone
在MBeanInfo
- 结果
- 这个实例的一个浅克隆。
- 另请参见:
-
Cloneable
-
getDescriptors
public Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
说明从接口ModelMBeanInfo
复制返回一个Descriptor数组,它由TypeDelegorType类型的ModelMBeanInfo的所有描述符组成。- Specified by:
-
getDescriptors
在接口ModelMBeanInfo
- 参数
-
inDescriptorType
- 必须为要返回的描述符设置的descriptorType字段的值。 必须是“mbean”,“属性”,“操作”,“构造函数”或“通知”。 如果为空或空,则将返回所有类型。 - 结果
- 描述符数组包含ModelMBean的所有描述符,如果键入inDescriptorType。
- 异常
-
MBeanException
- 包裹分布式通信异常。 -
RuntimeOperationsException
- 当descriptorType参数不是“mbean”,“attribute”,“operation”,“constructor”,“notification”,empty或null时,将RuntimeOperationsException
an IllegalArgumentException。 - 另请参见:
-
ModelMBeanInfo.setDescriptors(javax.management.Descriptor[])
-
setDescriptors
public void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
描述从接口ModelMBeanInfo
复制在ModelMBeanInfo中添加或替换描述符。- Specified by:
-
setDescriptors
在接口ModelMBeanInfo
- 参数
-
inDescriptors
- 要在ModelMBeanInfo中设置的描述符。 列表的空白元素将被忽略。 所有描述符必须具有名称和descriptorType字段。 - 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为null或无效描述符包装一个IllegalArgumentException。 - 另请参见:
-
ModelMBeanInfo.getDescriptors(java.lang.String)
-
getDescriptor
public Descriptor getDescriptor(String inDescriptorName) throws MBeanException, RuntimeOperationsException
返回名称请求的描述符。- 参数
-
inDescriptorName
- 描述符的名称。 - 结果
- 描述符包含具有相同名称的ModelMBean的描述符。 如果没有找到描述符,则返回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请求的描述符。- Specified by:
-
getDescriptor
在接口ModelMBeanInfo
- 参数
-
inDescriptorName
- 描述符的名称。 -
inDescriptorType
- 正在请求的描述符的类型。 如果这是空或空,则搜索所有类型。 有效的类型是'mbean','attribute','constructor''operation'和'notification'。 该值将等于返回的描述符中的“descriptorType”字段。 - 结果
- 描述符包含具有相同名称和descriptorType的ModelMBean的描述符。 如果没有找到描述符,则返回null。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为空描述符名称或空值或无效类型包装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
复制在ModelMBean的类型为inDescriptorType的info数组中设置描述符。 将调用相应ModelMBean * Info的setDescriptor方法来设置指定的描述符。- Specified by:
-
setDescriptor
在接口ModelMBeanInfo
- 参数
-
inDescriptor
- 要在ModelMBean中设置的描述符。 它不能为空。 所有描述符必须具有名称和descriptorType字段。 -
inDescriptorType
- 要设置的描述符的类型。 如果这是null,则使用描述符中的descriptorType字段。 如果指定,则必须在描述符的descriptorType字段中设置此值。 必须是“mbean”,“属性”,“构造函数”,“操作”或“通知”。 - 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为非法或空参数包装IllegalArgumentException,或者如果在相应的MBeanAttributeInfo或MBeanConstructorInfo或MBeanNotificationInfo或MBeanOperationInfo中找不到描述符的名称字段。 - 另请参见:
-
ModelMBeanInfo.getDescriptor(java.lang.String, java.lang.String)
-
getAttribute
public ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException
说明从界面ModelMBeanInfo
复制返回名称请求的ModelMBeanAttributeInfo。- Specified by:
-
getAttribute
在接口ModelMBeanInfo
- 参数
-
inName
- 要获取的ModelMBeanAttributeInfo的名称。 如果此名称不存在ModelMBeanAttributeInfo,则返回null。 - 结果
- 命名属性的属性信息,如果没有,则为null。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为null属性名称包装一个IllegalArgumentException。
-
getOperation
public ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException
说明从接口ModelMBeanInfo
复制返回名称请求的ModelMBeanOperationInfo。- Specified by:
-
getOperation
在接口ModelMBeanInfo
- 参数
-
inName
- 要获取的ModelMBeanOperationInfo的名称。 如果此名称不存在ModelMBeanOperationInfo,则返回null。 - 结果
- 命名操作的操作信息,如果没有,则为null。
- 异常
-
MBeanException
- 包裹分布式通信异常。 -
RuntimeOperationsException
- 为空操作名称包装一个IllegalArgumentException。
-
getConstructor
public ModelMBeanConstructorInfo getConstructor(String inName) throws MBeanException, RuntimeOperationsException
返回名称请求的ModelMBeanConstructorInfo。 如果此名称不存在ModelMBeanConstructorInfo,则返回null。- 参数
-
inName
- 构造函数的名称。 - 结果
- 命名构造函数的构造函数信息,如果没有,则为null。
- 异常
-
MBeanException
- 包裹分布式通信异常。 -
RuntimeOperationsException
- 为空构造函数名称包装一个IllegalArgumentException。
-
getNotification
public ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
描述从接口ModelMBeanInfo
复制返回名称请求的ModelMBeanNotificationInfo。- Specified by:
-
getNotification
在接口ModelMBeanInfo
- 参数
-
inName
- 要获取的ModelMBeanNotificationInfo的名称。 如果此名称不存在ModelMBeanNotificationInfo,则返回null。 - 结果
- 命名通知的信息,如果没有,则为null。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为null通知名称包装一个IllegalArgumentException。
-
getDescriptor
public Descriptor getDescriptor()
描述从类复制:MBeanInfo
获取此MBeanInfo的描述符。 更改返回值将对原始描述符没有影响。- Specified by:
-
getDescriptor
在接口DescriptorRead
- 重写:
-
getDescriptor
在MBeanInfo
- 结果
- 一个描述符是不可变的或原件的副本。
- 从以下版本开始:
- 1.6
-
getMBeanDescriptor
public Descriptor getMBeanDescriptor() throws MBeanException
描述从接口ModelMBeanInfo
复制返回包含MBean宽策略的ModelMBean描述符。 此描述符包含有关MBean的元数据和用于持久性和缓存的默认策略。
描述符中的字段被定义为但不限于以下内容。 请注意,当该表中的Type为Number时,也可以使用Long的十进制表示形式的String。
ModelMBean Fields Name Type Meaning name String MBean name. descriptorType String Must be "mbean". displayName String Name of MBean to be used in displays. persistPolicy String One of: OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never. See the section "MBean Descriptor Fields" in the JMX specification document. persistLocation String The fully qualified directory name where the MBean should be persisted (if appropriate). persistFile String File name into which the MBean should be persisted. persistPeriod Number Frequency of persist cycle in seconds, for OnTime and NoMoreOftenThan PersistPolicy currencyTimeLimit Number How long cached value is valid: <0 never, =0 always, >0 seconds. log String t: log all notifications, f: log no notifications. logfile String Fully qualified filename to log events to. visibility Number 1-4 where 1: always visible 4: rarely visible. export String Name to be used to export/expose this MBean so that it is findable by other JMX Agents. presentationString String XML formatted string to allow presentation of data to be associated with the MBean.默认描述符是:name = className,descriptorType =“mbean”,displayName = className,persistPolicy =“never”,log =“F”,visibility =“1”如果描述符不包含所有这些字段,具有这些默认值。
注意:由于本规范的先前版本不一致,建议不要对
currencyTimeLimit
使用负值或零值。 要指示缓存值永远无效,请忽略currencyTimeLimit
字段。 要指示它始终有效,请在此字段中使用非常大的数字。- Specified by:
-
getMBeanDescriptor
在接口ModelMBeanInfo
- 结果
- MBean描述符。
- 异常
-
MBeanException
- 包装分布式通信异常。 - 另请参见:
-
ModelMBeanInfo.setMBeanDescriptor(javax.management.Descriptor)
-
setMBeanDescriptor
public void setMBeanDescriptor(Descriptor inMBeanDescriptor) throws MBeanException, RuntimeOperationsException
说明从界面ModelMBeanInfo
复制设置ModelMBean的描述符。 此描述符包含有关MBean的默认MBean宽元数据以及持久性和缓存的默认策略。 此操作完全替换描述符,不进行合并。 如果要设置的描述符为null,则将创建默认描述符。 默认描述符是:name = className,descriptorType =“mbean”,displayName = className,persistPolicy =“never”,log =“F”,visibility =“1”如果描述符不包含所有这些字段,具有这些默认值。 有关有效字段名称的描述,请参阅getMBeanDescriptor
方法javadoc。- Specified by:
-
setMBeanDescriptor
在接口ModelMBeanInfo
- 参数
-
inMBeanDescriptor
- 要设置的描述符。 - 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为无效描述符包装一个IllegalArgumentException。 - 另请参见:
-
ModelMBeanInfo.getMBeanDescriptor()
-
-