- 所有已实现的接口:
-
Serializable
,Cloneable
,DescriptorRead
,ModelMBeanInfo
希望成为可管理资源的Java资源使用MBeanServer的createMBean方法实例化ModelMBean。然后,资源为ModelMBean实例设置ModelMBeanInfo和描述符。通过ModelMBeanInfo为ModelMBean公开的属性和操作可以从MBeans、连接器/适配器等其他MBeans访问。通过描述符,可以定义受管应用程序中的值和方法,并将其映射到ModelMBean的属性和操作。这种映射可以在开发过程中在文件中定义,也可以在运行时动态和以编程方式定义。
在MBeanServer中实例化的每个ModelMBean都变得可管理:其属性和操作通过连接到该MBeanServer的连接器/适配器变得可以远程访问。Java对象不能在MBeanServer中注册,除非它是符合JMX的MBean。通过实例化ModelMBean,资源可以确保MBean是有效的。每个公共方法必须抛出MBeanException和RuntimeOperationsException。这允许从分布式通信(RMI、EJB等)中包装异常。
这个类的serialVersionUID是-1935722590756516193L
。
- 自从:
- 1.5
- 参见:
-
Constructor Summary
ConstructorDescriptionModelMBeanInfoSupport
(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。构造一个给定ModelMBeanInfo的副本的ModelMBeanInfoSupport。 -
Method Summary
Modifier and TypeMethodDescriptionclone()
返回此实例的浅克隆。getAttribute
(String inName) 返回按名称请求的ModelMBeanAttributeInfo。getConstructor
(String inName) 返回按名称请求的ModelMBeanConstructorInfo。获取此MBeanInfo的描述符。getDescriptor
(String inDescriptorName) 返回按名称请求的描述符。getDescriptor
(String inDescriptorName, String inDescriptorType) 返回按名称和描述符类型请求的描述符。getDescriptors
(String inDescriptorType) 返回由类型为inDescriptorType的ModelMBeanInfo的所有描述符组成的描述符数组。返回包含MBean范围策略的ModelMBean的描述符。getNotification
(String inName) 返回按名称请求的ModelMBeanNotificationInfo。getOperation
(String inName) 返回按名称请求的ModelMBeanOperationInfo。void
setDescriptor
(Descriptor inDescriptor, String inDescriptorType) 为ModelMBean设置类型为inDescriptorType的信息数组中的描述符。void
setDescriptors
(Descriptor[] inDescriptors) 添加或替换ModelMBeanInfo中的描述符。void
setMBeanDescriptor
(Descriptor inMBeanDescriptor) 设置ModelMBean的描述符。Methods declared in class javax.management.MBeanInfo
equals, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
Methods declared in class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javax.management.modelmbean.ModelMBeanInfo
getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations
-
Constructor Details
-
ModelMBeanInfoSupport
构造一个给定ModelMBeanInfo的副本的ModelMBeanInfoSupport。返回的对象是给定对象的浅拷贝。描述符或包含的数组(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的描述符。如果描述符为null,将构造一个默认描述符。默认描述符是:name=className,descriptorType="mbean",displayName=className,persistPolicy="never",log="F",visibility="1"。如果描述符不包含所有这些字段,则缺少的字段将使用这些默认值添加。 - 抛出:
-
RuntimeOperationsException
- 封装了传递给参数的无效描述符的IllegalArgumentException。(有关有效MBean描述符的定义,请参见getMBeanDescriptor
。)
-
-
Method Details
-
clone
返回此实例的浅克隆。描述符或包含的数组(ModelMBeanAttributeInfo[]
等)都不会被克隆。这个方法主要用于通过setDescriptor
修改克隆体的描述符,而不影响原始对象的描述符。- 指定者:
-
clone
在接口ModelMBeanInfo
中 - 覆盖:
-
clone
在类MBeanInfo
中 - 返回:
- 此实例的浅克隆。
- 参见:
-
getDescriptors
public Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException 从接口复制的描述:ModelMBeanInfo
返回由类型为inDescriptorType的ModelMBeanInfo的所有描述符组成的描述符数组。- 指定者:
-
getDescriptors
在接口ModelMBeanInfo
中 - 参数:
-
inDescriptorType
- 必须为描述符设置的descriptorType字段的值以返回描述符。必须为"mbean"、"attribute"、"operation"、"constructor"或"notification"。如果为null或空,则将返回所有类型。 - 返回:
- 包含ModelMBean的所有描述符的描述符数组,如果类型为inDescriptorType。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了当参数中的descriptorType不是"mbean"、"attribute"、"operation"、"constructor"、"notification"、空或null之一时的IllegalArgumentException。 - 参见:
-
setDescriptors
public void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException 从接口复制的描述:ModelMBeanInfo
添加或替换ModelMBeanInfo中的描述符。- 指定者:
-
setDescriptors
在接口ModelMBeanInfo
中 - 参数:
-
inDescriptors
- 要设置在ModelMBeanInfo中的描述符。列表中的空元素将被忽略。所有描述符必须具有名称和descriptorType字段。 - 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空或无效描述符的IllegalArgumentException。 - 参见:
-
getDescriptor
public Descriptor getDescriptor(String inDescriptorName) throws MBeanException, RuntimeOperationsException 返回按名称请求的描述符。- 参数:
-
inDescriptorName
- 描述符的名称。 - 返回:
- 包含与相同名称的ModelMBean的描述符的描述符。如果找不到描述符,则返回null。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空名称的非法参数异常。 - 参见:
-
getDescriptor
public Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException 从接口复制的描述:ModelMBeanInfo
返回请求的名称和描述符类型的描述符。- 指定者:
-
getDescriptor
在接口ModelMBeanInfo
- 参数:
-
inDescriptorName
- 描述符的名称。 -
inDescriptorType
- 请求的描述符类型。如果为null或空,则搜索所有类型。有效类型为'mbean'、'attribute'、'constructor'、'operation'和'notification'。此值将等于返回的描述符中的'descriptorType'字段。 - 返回:
- 包含与相同名称和描述符类型的ModelMBean的描述符。如果找不到描述符,则返回null。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空描述符名称或空或无效类型的非法参数异常。类型必须为"mbean"、"attribute"、"constructor"、"operation"或"notification"。 - 参见:
-
setDescriptor
public void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException 从接口复制的描述:ModelMBeanInfo
为ModelMBean在info数组中的类型inDescriptorType设置描述符。将调用相应ModelMBean*Info的setDescriptor方法来设置指定的描述符。- 指定者:
-
setDescriptor
在接口ModelMBeanInfo
- 参数:
-
inDescriptor
- 要设置在ModelMBean中的描述符。它不能为null。所有描述符必须具有名称和descriptorType字段。 -
inDescriptorType
- 要设置的描述符类型。如果为null,则使用描述符中的descriptorType字段。如果指定了此值,则必须在描述符中的descriptorType字段中设置此值。必须为"mbean"、"attribute"、"constructor"、"operation"或"notification"。 - 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对非法或空参数或如果描述符的名称字段在相应的MBeanAttributeInfo或MBeanConstructorInfo或MBeanNotificationInfo或MBeanOperationInfo中找不到时的非法参数异常。 - 参见:
-
getAttribute
public ModelMBeanAttributeInfo getAttribute(String inName) throws MBeanException, RuntimeOperationsException 从接口复制的描述:ModelMBeanInfo
返回请求的名称的ModelMBeanAttributeInfo。- 指定者:
-
getAttribute
在接口ModelMBeanInfo
- 参数:
-
inName
- 要获取的ModelMBeanAttributeInfo的名称。如果不存在此名称的ModelMBeanAttributeInfo,则返回null。 - 返回:
- 名称属性的属性信息,如果没有则返回null。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空属性名称的非法参数异常。
-
getOperation
public ModelMBeanOperationInfo getOperation(String inName) throws MBeanException, RuntimeOperationsException 从接口复制的描述:ModelMBeanInfo
返回请求的名称的ModelMBeanOperationInfo。- 指定者:
-
getOperation
在接口ModelMBeanInfo
- 参数:
-
inName
- 要获取的ModelMBeanOperationInfo的名称。如果不存在此名称的ModelMBeanOperationInfo,则返回null。 - 返回:
- 名称操作的操作信息,如果没有则返回null。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空操作名称的非法参数异常。
-
getConstructor
public ModelMBeanConstructorInfo getConstructor(String inName) throws MBeanException, RuntimeOperationsException 返回请求的名称的ModelMBeanConstructorInfo。如果不存在此名称的ModelMBeanConstructorInfo,则返回null。- 参数:
-
inName
- 构造函数的名称。 - 返回:
- 名称构造函数的构造函数信息,如果没有则返回null。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空构造函数名称的非法参数异常。
-
getNotification
public ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException 从类复制的描述:MBeanInfo
返回请求的名称的ModelMBeanNotificationInfo。- 指定者:
-
getNotification
在接口ModelMBeanInfo
- 参数:
-
inName
- 要获取的ModelMBeanNotificationInfo的名称。如果不存在此名称的ModelMBeanNotificationInfo,则返回null。 - 返回:
- 名称通知的信息,如果没有则返回null。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了对空通知名称的非法参数异常。
-
getDescriptor
从接口复制的描述:ModelMBeanInfo
Get the descriptor of this MBeanInfo. Changing the returned value will have no affect on the original descriptor.- Specified by:
-
getDescriptor
in interfaceDescriptorRead
- Overrides:
-
getDescriptor
in classMBeanInfo
- Returns:
- a descriptor that is either immutable or a copy of the original.
- Since:
- 1.6
-
getMBeanDescriptor
Description copied from interface:ModelMBeanInfo
返回包含MBean范围策略的ModelMBean描述符。此描述符包含有关MBean的元数据以及持久性和缓存的默认策略。
描述符中的字段被定义为但不限于以下内容。请注意,当此表中的类型为Number时,也可以使用Long的十进制表示形式的字符串。
名称 类型 含义 name 字符串 MBean名称。 descriptorType 字符串 必须为"mbean"。 displayName 字符串 用于显示中的MBean名称。 persistPolicy 字符串 其中之一:OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never。请参阅JMX规范文档中的"MBean描述符字段"部分。 persistLocation 字符串 MBean应持久化的完全限定目录名称(如果适用)。 persistFile 字符串 MBean应持久化到的文件名。 persistPeriod 数字 持久化周期的频率(以秒为单位),适用于OnTime和NoMoreOftenThan PersistPolicy。 currencyTimeLimit 数字 缓存值有效的时间:<0表示永不,=0表示始终有效,>0表示秒数。 log 字符串 t:记录所有通知,f:不记录任何通知。 logfile 字符串 用于记录事件的完全限定文件名。 visibility 数字 1-4,其中1:始终可见,4:很少可见。 export 字符串 用于导出/公开此MBean以便其他JMX代理可以找到的名称。 presentationString 字符串 XML格式的字符串,用于将数据的呈现与MBean关联起来。 默认描述符为:name=className,descriptorType="mbean",displayName=className,persistPolicy="never",log="F",visibility="1"。如果描述符不包含所有这些字段,则将使用这些默认值添加这些字段。
注意:由于此规范先前版本中的不一致性,建议不要对
currencyTimeLimit
使用负值或零值。要表示缓存值永远无效,请省略currencyTimeLimit
字段。要表示它始终有效,请为此字段使用一个非常大的数字。- 指定者:
-
getMBeanDescriptor
在接口ModelMBeanInfo
- 返回:
- MBean描述符。
- 抛出:
-
MBeanException
- 封装了分布式通信异常。 - 另请参阅:
-
setMBeanDescriptor
public void setMBeanDescriptor(Descriptor inMBeanDescriptor) throws MBeanException, RuntimeOperationsException 从接口中复制的描述:ModelMBeanInfo
设置ModelMBean的描述符。此描述符包含有关MBean的默认范围元数据以及持久性和缓存的默认策略。此操作完全替换描述符,不进行合并。如果要设置的描述符为null,则将创建默认描述符。默认描述符为:name=className,descriptorType="mbean",displayName=className,persistPolicy="never",log="F",visibility="1"。如果描述符不包含所有这些字段,则将使用这些默认值添加这些字段。有关有效字段名称的描述,请参阅getMBeanDescriptor
方法的javadoc。- 指定者:
-
setMBeanDescriptor
在接口ModelMBeanInfo
- 参数:
-
inMBeanDescriptor
- 要设置的描述符。 - 抛出:
-
MBeanException
- 封装了分布式通信异常。 -
RuntimeOperationsException
- 封装了无效描述符的IllegalArgumentException。 - 另请参阅:
-