- java.lang.Object
-
- javax.management.StandardMBean
-
- All Implemented Interfaces:
-
DynamicMBean
,MBeanRegistration
- 已知直接子类:
-
StandardEmitterMBean
public class StandardMBean extends Object implements DynamicMBean, MBeanRegistration
一个MBean,其管理界面由Java接口上的反射决定。
该类在使用标准MBean时对管理界面的概念带来更大的灵活性。 在JMX规范中描述的标准MBeans的模式的直接使用意味着MBean的实现类与其管理接口之间存在固定的关系(即,如果实现类是Thing,则管理接口必须是ThingMBean)。 该类可以保持使用Java接口指定管理界面的便利性,而不需要在实现和接口类之间存在任何命名关系。
通过制作一个MBean的DynamicMBean,该类可以选择由MBean实现的任何接口作为其管理界面,只要它符合JMX模式(即由getter / setter等定义的属性)。
该类还提供了可以为DynamicMBean界面返回的
MBeanInfo
提供自定义描述和名称的钩子 。使用此类,可以使用任何实现类名称Impl创建一个MBean,并通过任何接口Intf定义管理接口(如当前标准MBean),以两种一般方式之一:
- 使用公共构造函数
StandardMBean(impl,interface)
:MBeanServer mbs; ... Impl impl = new Impl(...); StandardMBean mbean = new StandardMBean(impl, Intf.class, false); mbs.registerMBean(mbean, objectName);
- Subclassing StandardMBean:
public class Impl extends StandardMBean implements Intf { public Impl() { super(Intf.class, false); } // implement methods of Intf } [...] MBeanServer mbs; .... Impl impl = new Impl(); mbs.registerMBean(impl, objectName);
在任一情况下, Impl类必须实现Intf接口。
基于实现和接口类之间的命名关系的标准MBean当然仍然可用。
此类也可用于构建MXBean。 除了在上面的示例中,构造函数或
super(...)
调用的false
参数是false
,用法与标准MBeantrue
。- 从以下版本开始:
- 1.5
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
StandardMBean(Class<?> mbeanInterface)
做一个DynamicMBean的出 这一点 ,使用指定的 mbeanInterface类。protected
StandardMBean(Class<?> mbeanInterface, boolean isMXBean)
做一个DynamicMBean的出 这一点 ,使用指定的 mbeanInterface类,并选择所产生的MBean是一个MXBean。StandardMBean(T implementation, Class<T> mbeanInterface)
使用指定的 mbeanInterface类,从对象 实现中创建一个DynamicMBean。StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)
使用指定的 mbeanInterface类,并选择生成的MBean是否为MXBean,从对象 实现中创建一个DynamicMBean。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected void
cacheMBeanInfo(MBeanInfo info)
自定义钩子:缓存为此对象构建的MBeanInfo。Object
getAttribute(String attribute)
获取动态MBean的特定属性的值。AttributeList
getAttributes(String[] attributes)
获取动态MBean的几个属性的值。protected MBeanInfo
getCachedMBeanInfo()
自定义钩子:返回为此对象缓存的MBeanInfo。protected String
getClassName(MBeanInfo info)
自定义钩子:获取将在此MBean返回的MBeanInfo中使用的className。protected MBeanConstructorInfo[]
getConstructors(MBeanConstructorInfo[] ctors, Object impl)
自定义钩子:获取将在此MBean返回的MBeanInfo中使用的MBeanConstructorInfo []。protected String
getDescription(MBeanAttributeInfo info)
自定义钩子:获取将在此MBean返回的MBeanAttributeInfo中使用的描述。protected String
getDescription(MBeanConstructorInfo info)
自定义钩子:获取将在此MBean返回的MBeanConstructorInfo中使用的描述。protected String
getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanConstructorInfo的 序列 MBeanParameterInfo的描述。protected String
getDescription(MBeanFeatureInfo info)
自定义钩子:获取将在此MBean返回的MBeanFeatureInfo中使用的描述。protected String
getDescription(MBeanInfo info)
自定义钩子:获取将在此MBean返回的MBeanInfo中使用的描述。protected String
getDescription(MBeanOperationInfo info)
自定义钩子:获取将在此MBean返回的MBeanOperationInfo中使用的描述。protected String
getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanOperationInfo的 序列 MBeanParameterInfo的描述。protected int
getImpact(MBeanOperationInfo info)
自定义钩子:获取将在此MBean返回的MBeanOperationInfo中使用的操作的 影响标志。Object
getImplementation()
获取此标准MBean(或MXBean)的实现。Class<?>
getImplementationClass()
获取此标准MBean(或MXBean)的实现类。MBeanInfo
getMBeanInfo()
获取这个MBean的MBeanInfo
。Class<?>
getMBeanInterface()
获取此标准MBean(或MXBean)的管理界面。protected String
getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanConstructorInfo的 序列 MBeanParameterInfo的名称。protected String
getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanOperationInfo的 序列 MBeanParameterInfo的名称。Object
invoke(String actionName, Object[] params, String[] signature)
允许在动态MBean上调用操作。void
postDeregister()
允许MBean在MBean服务器中取消注册后执行所需的任何操作。void
postRegister(Boolean registrationDone)
允许MBean在MBean服务器中注册或注册失败后执行所需的操作。void
preDeregister()
允许MBean在MBean服务器取消注册之前执行所需的任何操作。ObjectName
preRegister(MBeanServer server, ObjectName name)
允许MBean在MBean服务器注册之前执行所需的任何操作。void
setAttribute(Attribute attribute)
设置动态MBean的特定属性的值。AttributeList
setAttributes(AttributeList attributes)
设置动态MBean的几个属性的值。void
setImplementation(Object implementation)
替换包含在该对象中的实现对象。
-
-
-
构造方法详细信息
-
StandardMBean
public StandardMBean(T implementation, Class<T> mbeanInterface) throws NotCompliantMBeanException
使用指定的mbeanInterface类,从对象实现中创建一个DynamicMBean。
- 参数类型
-
T
- 允许编译器检查implementation
确实实现了由mbeanInterface
描述的类。 编译器只能检查这个,如果mbeanInterface
是类文字,如MyMBean.class
。 - 参数
-
implementation
- 这个MBean的实现。 -
mbeanInterface
- 此MBean的实现导出的管理界面。 如果是null
,那么这个对象将使用标准的JMX设计模式来确定与给定实现关联的管理接口。 - 异常
-
IllegalArgumentException
- 如果给定的 实现为空。 -
NotCompliantMBeanException
- 如果 mbeanInterface不遵循管理界面的JMX设计模式,或者给定的 实现不实现指定的接口。
-
StandardMBean
protected StandardMBean(Class<?> mbeanInterface) throws NotCompliantMBeanException
做一个DynamicMBean的出这一点 ,使用指定的mbeanInterface类。
致电
this(this,mbeanInterface)
。 该构造函数保留给子类。- 参数
-
mbeanInterface
- 此MBean导出的管理界面。 - 异常
-
NotCompliantMBeanException
-如果 mbeanInterface不遵守JMX设计模式的管理界面,或者 如果没有实现指定的接口。
-
StandardMBean
public StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)
使用指定的mbeanInterface类,并选择生成的MBean是否为MXBean,从对象实现中创建一个DynamicMBean。 此构造函数可用于创建标准MBean或MXBean。 与构造函数
StandardMBean(Object, Class)
不同,它不会抛出NotCompliantMBeanException。- 参数类型
-
T
- 允许编译器检查implementation
确实实现了由mbeanInterface
描述的类。 编译器只能检查这个,如果mbeanInterface
是类文字,如MyMBean.class
。 - 参数
-
implementation
- 这个MBean的实现。 -
mbeanInterface
- 此MBean的实现导出的管理界面。 如果是null
,那么这个对象将使用标准的JMX设计模式来确定与给定实现相关联的管理接口。 -
isMXBean
- 如果为true,那么mbeanInterface
参数命名一个MXBean接口,最终的MBean是一个MXBean。 - 异常
-
IllegalArgumentException
- 如果给定的 实现为空,或者 mbeanInterface不遵循管理接口的JMX设计模式,或者给定的 实现不实现指定的接口。 - 从以下版本开始:
- 1.6
-
StandardMBean
protected StandardMBean(Class<?> mbeanInterface, boolean isMXBean)
做一个DynamicMBean的出这一点 ,使用指定的mbeanInterface类,并选择所产生的MBean是一个MXBean。 此构造函数可用于创建标准MBean或MXBean。 与构造函数
StandardMBean(Object, Class)
不同,它不会抛出NotCompliantMBeanException。致电
this(this, mbeanInterface, isMXBean)
。 该构造函数保留给子类。- 参数
-
mbeanInterface
- 此MBean导出的管理界面。 -
isMXBean
- 如果为true,那么mbeanInterface
参数命名一个MXBean接口,最终的MBean是MXBean。 - 异常
-
IllegalArgumentException
-如果 mbeanInterface不遵守JMX设计模式的管理界面,或者 如果没有实现指定的接口。 - 从以下版本开始:
- 1.6
-
-
方法详细信息
-
setImplementation
public void setImplementation(Object implementation) throws NotCompliantMBeanException
替换包含在该对象中的实现对象。
- 参数
-
implementation
- 本标准MBean(或MXBean)的新实现。implementation
对象必须实现此StandardMBean
构建时提供的标准MBean(或MXBean)接口。 - 异常
-
IllegalArgumentException
- 如果给定的 实现为空。 -
NotCompliantMBeanException
- 如果给定的 实现不实现在建设中提供的标准MBean(或MXBean)接口。 - 另请参见:
-
getImplementation()
-
getImplementation
public Object getImplementation()
获取此标准MBean(或MXBean)的实现。- 结果
- 执行此标准MBean(或MXBean)。
- 另请参见:
-
setImplementation(java.lang.Object)
-
getMBeanInterface
public final Class<?> getMBeanInterface()
获取此标准MBean(或MXBean)的管理界面。- 结果
- 此标准MBean(或MXBean)的管理界面。
-
getImplementationClass
public Class<?> getImplementationClass()
获取此标准MBean(或MXBean)的实现类。- 结果
- 这个标准MBean(或MXBean)的实现类。
-
getAttribute
public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
说明从界面DynamicMBean
复制获取动态MBean的特定属性的值。- Specified by:
-
getAttribute
在接口DynamicMBean
- 参数
-
attribute
- 要检索的属性的名称 - 结果
- 检索的属性的值。
- 异常
-
AttributeNotFoundException
- 如果指定的属性不存在或无法检索 -
MBeanException
- 包裹一个java.lang.Exception
由MBean的吸气java.lang.Exception
抛出。 -
ReflectionException
- 包裹一个java.lang.Exception
在尝试调用吸气剂时抛出。 - 另请参见:
-
DynamicMBean.setAttribute(javax.management.Attribute)
-
setAttribute
public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
描述从接口DynamicMBean
复制设置动态MBean的特定属性的值。- Specified by:
-
setAttribute
接口DynamicMBean
- 参数
-
attribute
- 要设置的属性的标识和要设置的值。 - 异常
-
AttributeNotFoundException
- 如果指定的属性不存在或无法检索 -
InvalidAttributeValueException
- 如果指定的值对该属性无效 -
MBeanException
- 包裹一个java.lang.Exception
由MBean的设置者抛出。 -
ReflectionException
- 在尝试调用MBean的设置器时抛出一个java.lang.Exception
。 - 另请参见:
-
DynamicMBean.getAttribute(java.lang.String)
-
getAttributes
public AttributeList getAttributes(String[] attributes)
描述从界面DynamicMBean
复制获取动态MBean的几个属性的值。- Specified by:
-
getAttributes
在接口DynamicMBean
- 参数
-
attributes
- 要检索的属性的列表。 - 结果
- 检索的属性列表。
- 另请参见:
-
DynamicMBean.setAttributes(javax.management.AttributeList)
-
setAttributes
public AttributeList setAttributes(AttributeList attributes)
描述从接口DynamicMBean
复制设置动态MBean的几个属性的值。- Specified by:
-
setAttributes
在接口DynamicMBean
- 参数
-
attributes
- 属性列表:要设置的属性的标识以及要设置的属性值。 - 结果
- 已设置的属性列表及其新值。
- 另请参见:
-
DynamicMBean.getAttributes(java.lang.String[])
-
invoke
public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
说明从接口DynamicMBean
复制允许在动态MBean上调用操作。- Specified by:
-
invoke
在接口DynamicMBean
- 参数
-
actionName
- 要调用的操作的名称。 -
params
- 包含调用操作时要设置的参数的数组。 -
signature
- 包含动作签名的数组。 类对象将通过与用于加载调用操作的MBean相同的类加载器来加载。 - 结果
- 该操作返回的对象,表示在指定的MBean上调用操作的结果。
- 异常
-
MBeanException
- 包装由MBean调用的方法抛出的一个java.lang.Exception
。 -
ReflectionException
- 在尝试调用该方法时抛出一个java.lang.Exception
-
getMBeanInfo
public MBeanInfo getMBeanInfo()
获取这个MBean的MBeanInfo
。该方法实现
DynamicMBean.getMBeanInfo()
。此方法首先调用
getCachedMBeanInfo()
以检索此MBean的缓存MBeanInfo(如果有)。 如果由getCachedMBeanInfo()
返回的MBeanInfo不为空,则返回。
否则,此方法使用为此MBean指定的管理界面为此MBean构建默认MBeanInfo。在构建MBeanInfo时,此方法调用自定义钩子,使子类可以提供自定义描述,参数名称等...
最后,它调用cacheMBeanInfo()
以缓存新的MBeanInfo。- Specified by:
-
getMBeanInfo
在接口DynamicMBean
- 结果
- MBean的缓存MBeanInfo(如果不为null),或者新建的MBeanInfo(如果没有缓存)。
-
getClassName
protected String getClassName(MBeanInfo info)
- 参数
-
info
- 通过反射导出的默认MBeanInfo。 - 结果
- 新的MBeanInfo的类名。
-
getDescription
protected String getDescription(MBeanInfo info)
- 参数
-
info
- 通过反射导出的默认MBeanInfo。 - 结果
- 新的MBeanInfo的描述。
-
getDescription
protected String getDescription(MBeanFeatureInfo info)
自定义钩子:获取将在此MBean返回的MBeanFeatureInfo中使用的描述。
子类可以重新定义此方法以提供其自定义描述。 默认实现返回
info.getDescription()
。此方法称为
getDescription(MBeanAttributeInfo)
,getDescription(MBeanOperationInfo)
,getDescription(MBeanConstructorInfo)
。- 参数
-
info
- 通过反射导出的默认MBeanFeatureInfo。 - 结果
- 给定MBeanFeatureInfo的描述。
-
getDescription
protected String getDescription(MBeanAttributeInfo info)
自定义钩子:获取将在此MBean返回的MBeanAttributeInfo中使用的描述。子类可以重新定义此方法以提供其自定义描述。 默认实现返回
getDescription((MBeanFeatureInfo) info)
。- 参数
-
info
- 通过反射导出的默认MBeanAttributeInfo。 - 结果
- 给定MBeanAttributeInfo的描述。
-
getDescription
protected String getDescription(MBeanConstructorInfo info)
自定义钩子:获取将在此MBean返回的MBeanConstructorInfo中使用的描述。
子类可以重新定义此方法以提供其自定义描述。 默认实现返回getDescription((MBeanFeatureInfo) info)
。- 参数
-
info
- 通过反射导出的默认MBeanConstructorInfo。 - 结果
- 给定MBeanConstructorInfo的描述。
-
getDescription
protected String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanConstructorInfo的序列 MBeanParameterInfo的描述。
子类可以重新定义此方法以提供其自定义描述。 默认实现返回param.getDescription()
。- 参数
-
ctor
- 通过反射导出的默认MBeanConstructorInfo。 -
param
- 通过反射导出的默认MBeanParameterInfo。 -
sequence
- 考虑的参数的序列号(第一个参数为“0”,第二个参数为“1”等)。 - 结果
- 给定MBeanParameterInfo的描述。
-
getParameterName
protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanConstructorInfo的序列 MBeanParameterInfo的名称。
子类可以重新定义此方法,以便提供其自定义参数名称。 默认实现返回param.getName()
。- 参数
-
ctor
- 通过反射导出的默认MBeanConstructorInfo。 -
param
- 通过反射导出的默认MBeanParameterInfo。 -
sequence
- 考虑的参数的序列号(第一个参数为“0”,第二个参数为“1”等)。 - 结果
- 给定MBeanParameterInfo的名称。
-
getDescription
protected String getDescription(MBeanOperationInfo info)
自定义钩子:获取将在此MBean返回的MBeanOperationInfo中使用的描述。
子类可以重新定义此方法以提供其自定义描述。 默认实现返回getDescription((MBeanFeatureInfo) info)
。- 参数
-
info
- 通过反射导出的默认MBeanOperationInfo。 - 结果
- 给定MBeanOperationInfo的描述。
-
getImpact
protected int getImpact(MBeanOperationInfo info)
自定义钩子:获取将在此MBean返回的MBeanOperationInfo中使用的操作的影响标志。
子类可以重新定义此方法,以便提供其自定义冲突标志。 默认实现返回info.getImpact()
。- 参数
-
info
- 通过反射导出的默认MBeanOperationInfo。 - 结果
- 给定MBeanOperationInfo的影响标志。
-
getParameterName
protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanOperationInfo的序列 MBeanParameterInfo的名称。
子类可以重新定义此方法,以便提供其自定义参数名称。 默认实现返回param.getName()
。- 参数
-
op
- 通过反射导出的默认MBeanOperationInfo。 -
param
- 通过反射导出的默认MBeanParameterInfo。 -
sequence
- 考虑的参数的序列号(第一个参数为“0”,第二个参数为“1”等)。 - 结果
- 用于给定MBeanParameterInfo的名称。
-
getDescription
protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
自定义钩子:获取将用于MBean返回的MBeanOperationInfo的序列 MBeanParameterInfo的描述。
子类可以重新定义此方法以提供其自定义描述。 默认实现返回param.getDescription()
。- 参数
-
op
- 通过反射导出的默认MBeanOperationInfo。 -
param
- 通过反射导出的默认MBeanParameterInfo。 -
sequence
- 考虑的参数的序列号(第一个参数为“0”,第二个参数为“1”等)。 - 结果
- 给定MBeanParameterInfo的描述。
-
getConstructors
protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)
自定义钩子:获取将在此MBean返回的MBeanInfo中使用的MBeanConstructorInfo []。
默认情况下,如果包装的实现不是这个方法,此方法返回null
。 实际上,如果包装的实现不是这个对象本身,那么通过MBeanServer.createMBean(...)
调用实现构造函数就不可能重新创建一个包装的实现。
否则,如果包装的实现是这样的 ,则返回ctors 。
如果需要,子类可以重新定义此方法,以便修改此行为。- 参数
-
ctors
- 通过反射派生的默认MBeanConstructorInfo []。 -
impl
- 包装的实现。 如果null
传递,包装实现将被忽略,并返回构建函数 。 - 结果
- MBeanConstructorInfo []为新的MBeanInfo。
-
getCachedMBeanInfo
protected MBeanInfo getCachedMBeanInfo()
自定义钩子:返回为此对象缓存的MBeanInfo。子类可能会重新定义此方法,以便实现自己的缓存策略。 默认实现每个实例存储一个
MBeanInfo
对象。- 结果
- 缓存的MBeanInfo,如果没有缓存MBeanInfo,则返回null。
- 另请参见:
-
cacheMBeanInfo(MBeanInfo)
-
cacheMBeanInfo
protected void cacheMBeanInfo(MBeanInfo info)
自定义钩子:缓存为此对象构建的MBeanInfo。子类可能会重新定义此方法,以便实现自己的缓存策略。 在这种情况下,默认实现存储
info
。 一个子类可以定义其他策略,例如不保存info
(因此每次调用时都会重构getMBeanInfo()
),或者当多个StandardMBean
实例具有相等的MBeanInfo
值时共享一个唯一的MBeanInfo
对象。- 参数
-
info
- 新的MBeanInfo
缓存。 任何先前缓存的值都将被丢弃。 此参数可能为null,在这种情况下,不存在新的缓存值。
-
preRegister
public ObjectName preRegister(MBeanServer server, ObjectName name) throws 异常
允许MBean在MBean服务器注册之前执行所需的任何操作。 如果未指定MBean的名称,则MBean可以为其注册提供一个名称。 如果引发异常,MBean将不会在MBean服务器中注册。
此方法的默认实现将返回
name
参数。 对于标准MBean它也不做任何事情。 对于MBeanServer
,它记录了MBeanServer
和ObjectName
参数,以便它们可用于翻译MXBean引用。对于重写此方法的子类来说,通过
super.preRegister(...)
调用重写方法是个好习惯。 如果此对象是由其他MXBean中的属性或操作引用的MXBean,则这是必需的。- Specified by:
-
preRegister
在接口MBeanRegistration
- 参数
-
server
- MBean将在其中注册的MBean服务器。 -
name
- MBean的对象名称。 此名称为null如果名称参数的一个createMBean
或者registerMBean
方法在MBeanServer
接口为空。 在这种情况下,此方法必须为新的MBean返回非空的ObjectName。 - 结果
-
要注册MBean的名称。
此值不能为空。
如果
name
参数不为空,则通常不一定是返回值。 - 异常
-
IllegalArgumentException
- 如果这是MXBean,并且name
为null。 -
InstanceAlreadyExistsException
- 如果这是MXBean,并且已经以另一个名称(在这个MBean服务器或另一个)中注册。 -
异常
- 没有其他检查的异常被这个方法抛出,但是异常
被声明,以便子类可以覆盖该方法并抛出自己的异常。 - 从以下版本开始:
- 1.6
-
postRegister
public void postRegister(Boolean registrationDone)
允许MBean在MBean服务器中注册或注册失败后执行所需的操作。
此方法的默认实现对于标准MBean不起作用。 对于MXBeans,如果注册失败,它将撤销
preRegister
完成的任何工作。对于通过
super.postRegister(...)
调用重写方法的子类来说,这是一个很好的做法。 如果此对象是由其他MXBean中的属性或操作引用的MXBean,则这是必需的。- Specified by:
-
postRegister
在接口MBeanRegistration
- 参数
-
registrationDone
- 指示MBean是否已成功注册到MBean服务器中。 值false表示注册阶段失败。 - 从以下版本开始:
- 1.6
-
preDeregister
public void preDeregister() throws 异常
允许MBean在MBean服务器取消注册之前执行所需的任何操作。
这种方法的默认实现什么都不做。
对于重写此方法的子类,通过
super.preDeregister(...)
调用重写方法是个好习惯。- Specified by:
-
preDeregister
在接口MBeanRegistration
- 异常
-
异常
- 没有检查的异常是通过此方法抛出,但是异常
被声明,以便子类可以覆盖此方法并抛出自己的异常。 - 从以下版本开始:
- 1.6
-
postDeregister
public void postDeregister()
允许MBean在MBean服务器中取消注册后执行所需的任何操作。
此方法的默认实现对于标准MBean不起作用。 对于MXBeans,它会删除
preRegister
方法记录的任何信息。对于通过
super.postRegister(...)
调用重写方法的子类来说,这是一个很好的做法。 如果此对象是由其他MXBean中的属性或操作引用的MXBean,则这是必需的。- Specified by:
-
postDeregister
在接口MBeanRegistration
- 从以下版本开始:
- 1.6
-
-