-
- 所有已知实现类:
-
ModelMBeanInfoSupport
public interface ModelMBeanInfo
此接口由ModelMBeanInfo为每个ModelMBean实现。 每个JMX代理都必须附带此接口的实现。希望可管理的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等)中包装异常
- 从以下版本开始:
- 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[]
getDescriptors(String inDescriptorType)
返回一个描述符数组,该数组包含inDescriptorType类型的ModelMBeanInfo的所有描述符。Descriptor
getMBeanDescriptor()
返回ModelMBean的描述符,该描述符包含MBean范围的策略。ModelMBeanNotificationInfo
getNotification(String inName)
返回按名称请求的ModelMBeanNotificationInfo。MBeanNotificationInfo[]
getNotifications()
返回MBean发出的通知列表。ModelMBeanOperationInfo
getOperation(String inName)
返回按名称请求的ModelMBeanOperationInfo。MBeanOperationInfo[]
getOperations()
返回MBean的操作列表。void
setDescriptor(Descriptor inDescriptor, String inDescriptorType)
在ModelMBean的inDescriptorType类型的info数组中设置描述符。void
setDescriptors(Descriptor[] inDescriptors)
在ModelMBeanInfo中添加或替换描述符。void
setMBeanDescriptor(Descriptor inDescriptor)
设置ModelMBean的描述符。
-
-
-
方法详细信息
-
getDescriptors
Descriptor[] getDescriptors(String inDescriptorType) throws MBeanException, RuntimeOperationsException
返回一个描述符数组,该数组包含inDescriptorType类型的ModelMBeanInfo的所有描述符。- 参数
-
inDescriptorType
- 必须为要返回的描述符设置的descriptorType字段的值。 必须是“mbean”,“属性”,“操作”,“构造函数”或“通知”。 如果为null或为空,则返回所有类型。 - 结果
- Descriptor数组,如果类型为inDescriptorType,则包含ModelMBean的所有描述符。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 当参数中的descriptorType不是以下值之一时包装IllegalArgumentException:“mbean”,“attribute”,“operation”,“constructor”,“notification”,empty或null。 - 另请参见:
-
setDescriptors(javax.management.Descriptor[])
-
setDescriptors
void setDescriptors(Descriptor[] inDescriptors) throws MBeanException, RuntimeOperationsException
在ModelMBeanInfo中添加或替换描述符。- 参数
-
inDescriptors
- 要在ModelMBeanInfo中设置的描述符。 列表的空元素将被忽略。 所有描述符必须具有name和descriptorType字段。 - 异常
-
RuntimeOperationsException
- 为null或无效的描述符包装IllegalArgumentException。 -
MBeanException
- 包装分布式通信异常。 - 另请参见:
-
getDescriptors(java.lang.String)
-
getDescriptor
Descriptor getDescriptor(String inDescriptorName, String inDescriptorType) throws MBeanException, RuntimeOperationsException
返回name和descriptorType请求的描述符。- 参数
-
inDescriptorName
- 描述符的名称。 -
inDescriptorType
- 请求的描述符的类型。 如果为null或为空,则搜索所有类型。 有效类型是'mbean','attribute','constructor''operation'和'notification'。 此值将等于返回的描述符中的“descriptorType”字段。 - 结果
- 描述符包含具有相同名称和descriptorType的ModelMBean的描述符。 如果未找到描述符,则返回null。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为空描述符名称或null或无效类型包装IllegalArgumentException。 类型必须是“mbean”,“attribute”,“constructor”,“operation”或“notification”。 - 另请参见:
-
setDescriptor(javax.management.Descriptor, java.lang.String)
-
setDescriptor
void setDescriptor(Descriptor inDescriptor, String inDescriptorType) throws MBeanException, RuntimeOperationsException
在ModelMBean的inDescriptorType类型的info数组中设置描述符。 将调用相应ModelMBean * Info的setDescriptor方法来设置指定的描述符。- 参数
-
inDescriptor
- 要在ModelMBean中设置的描述符。 它不能为空。 所有描述符必须具有name和descriptorType字段。 -
inDescriptorType
- 要设置的描述符的类型。 如果为null,则使用描述符中的descriptorType字段。 如果指定,则必须在描述符的descriptorType字段中设置此值。 必须是“mbean”,“attribute”,“constructor”,“operation”或“notification”。 - 异常
-
RuntimeOperationsException
- 包含非法或空参数的IllegalArgumentException,或者在相应的MBeanAttributeInfo或MBeanConstructorInfo或MBeanNotificationInfo或MBeanOperationInfo中找不到描述符的name字段。 -
MBeanException
- 包装分布式通信异常。 - 另请参见:
-
getDescriptor(java.lang.String, java.lang.String)
-
getMBeanDescriptor
Descriptor getMBeanDescriptor() throws MBeanException, RuntimeOperationsException
返回ModelMBean的描述符,该描述符包含MBean范围的策略。 此描述符包含有关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
字段。 要指示它始终有效,请为此字段使用非常大的数字。- 结果
- MBean描述符。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 获取描述符时发生RuntimeException
。 - 另请参见:
-
setMBeanDescriptor(javax.management.Descriptor)
-
setMBeanDescriptor
void setMBeanDescriptor(Descriptor inDescriptor) throws MBeanException, RuntimeOperationsException
设置ModelMBean的描述符。 此描述符包含有关MBean的默认MBean范围元数据以及持久性和缓存的默认策略。 此操作完全替换描述符,不进行合并。 如果要设置的描述符为null,则将创建默认描述符。 默认描述符是:name = className,descriptorType =“mbean”,displayName = className,persistPolicy =“never”,log =“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
- 为空操作名称包装IllegalArgumentException。
-
getNotification
ModelMBeanNotificationInfo getNotification(String inName) throws MBeanException, RuntimeOperationsException
返回按名称请求的ModelMBeanNotificationInfo。- 参数
-
inName
- 要获取的ModelMBeanNotificationInfo的名称。 如果此名称不存在ModelMBeanNotificationInfo,则返回null。 - 结果
- 命名通知的信息,如果没有,则返回null。
- 异常
-
MBeanException
- 包装分布式通信异常。 -
RuntimeOperationsException
- 为空通知名称包装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”
- 结果
-
一组
MBeanNotificationInfo
对象。
-
getOperations
MBeanOperationInfo[] getOperations()
返回MBean的操作列表。 每个操作由MBeanOperationInfo
对象描述。- 结果
-
一组
MBeanOperationInfo
对象。
-
-