JavaTM Platform
Standard Ed. 6

javax.management
类 StandardMBean

java.lang.Object
  继承者 javax.management.StandardMBean
所有已实现的接口:
DynamicMBean, MBeanRegistration
直接已知子类:
StandardEmitterMBean

public class StandardMBean
extends Object
implements DynamicMBean, MBeanRegistration

一个管理接口由 Java 接口上的反射确定的 MBean。

在 Standard MBean 的使用中,此类为“管理接口”这一概念提供了更多灵活性。直接使用 JMX 规范中介绍的 Standard MBean 模式意味着在 MBean 的实现类与其管理接口之间存在着固定的关系(即如果实现类是 Thing,则管理接口必须是 ThingMBean)。此类能够保留指定带有 Java 接口的管理接口这一便捷性,同时无需在实现与接口类之间存在任何命名关系。

通过从 MBean 中生成 DynamicMBean,此类能够选择任何由 MBean 实现的接口作为其管理接口,但前提是它必须遵守 JMX 模式(即由获取方法/设置方法等定义的属性)。

此类还提供了一些钩子,从而能够为由 DynamicMBean 接口返回的 MBeanInfo 提供自定义描述和名称。

通过使用此类,可以使用以下两种常规方法之一创建 MBean,使用任何实现类名 Impl、由任何接口 Intf 定义的管理接口(就当前 Standard MBean 而言)作为参数:

在任何一种情况下,类 Impl 都必须实现接口 Intf

当然,基于实现和接口类之间的命名关系的 Standard MBean 仍然可用。

此类也可以用来构造 MXBean。用法与构造 Standard MBean 完全相同,唯一的不同之处在于,上例中的构造方法或 super(...) 调用使用的是 false 参数,而不是 true 参数。

从以下版本开始:
1.5

构造方法摘要
protected StandardMBean(Class<?> mbeanInterface)
          使用指定的 mbeanInterface 类从 this 中生成 DynamicMBean。
protected StandardMBean(Class<?> mbeanInterface, boolean isMXBean)
          使用指定的 mbeanInterface 类从 this 中生成 DynamicMBean。
  StandardMBean(T implementation, Class<T> mbeanInterface)
          使用指定的 mbeanInterface 类从对象 implementation 中生成 DynamicMBean。
  StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)
          使用指定的 mbeanInterface 类从对象 implementation 中生成 DynamicMBean。
 
方法摘要
protected  void cacheMBeanInfo(MBeanInfo info)
          自定义钩子:缓存为此对象构建的 MBeanInfo。
 Object getAttribute(String attribute)
          获得 Dynamic MBean 的特定属性的值。
 AttributeList getAttributes(String[] attributes)
          获得 Dynamic 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 的第 sequence 个 BeanParameterInfo 的描述。
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 的第 sequence 个 MBeanParameterInfo 的描述。
protected  int getImpact(MBeanOperationInfo info)
          自定义钩子:获取将在由此 MBean 返回的 MBeanOperationInfo 中使用的操作的 impact 标志。
 Object getImplementation()
          获取此 Standard MBean(或 MXBean)的实现。
 Class<?> getImplementationClass()
          获取此 Standard MBean(或 MXBean)的实现类。
 MBeanInfo getMBeanInfo()
          获取此 MBean 的 MBeanInfo
 Class<?> getMBeanInterface()
          获取此 Standard MBean(或 MXBean)的管理接口。
protected  String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
          自定义钩子:获取将用于由此 MBean 返回的 MBeanConstructorInfo 的第 sequence 个 BeanParameterInfo 的名称。
protected  String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
          自定义钩子:获取将用于由此 MBean 返回的 MBeanOperationInfo 的第 sequence 个 MBeanParameterInfo 的名称。
 Object invoke(String actionName, Object[] params, String[] signature)
          允许在 Dynamic 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)
          设置 Dynamic MBean 的特定属性的值。
 AttributeList setAttributes(AttributeList attributes)
          设置 Dynamic MBean 多个属性的值。
 void setImplementation(Object implementation)
          替换包装在此对象中的实现对象。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

StandardMBean

public StandardMBean(T implementation,
                     Class<T> mbeanInterface)
              throws NotCompliantMBeanException

使用指定的 mbeanInterface 类从对象 implementation 中生成 DynamicMBean。

类型参数:
T - 允许编译器检查 implementation 是否确实实现了 mbeanInterface 描述的类。编译器只在 mbeanInterfaceMyMBean.class 之类的类字面值时才能进行检查。
参数:
implementation - 此 MBean 的实现。
mbeanInterface - 由此 MBean 实现导出的管理接口。如果为 null,则此对象将使用标准 JMX 设计模式来确定与指定实现关联的管理接口。
抛出:
IllegalArgumentException - 如果给定的 implementation 为 null
NotCompliantMBeanException - 如果 mbeanInterface 不遵守管理接口的 JMX 设计模式,或者给定的 implementation 没有实现指定的接口。

StandardMBean

protected StandardMBean(Class<?> mbeanInterface)
                 throws NotCompliantMBeanException

使用指定的 mbeanInterface 类从 this 中生成 DynamicMBean。

调用 this(this、mbeanInterface)。此构造方法是为子类保留的。

参数:
mbeanInterface - 由此 MBean 导出的管理接口。
抛出:
NotCompliantMBeanException - 如果 mbeanInterface 不遵从管理接口的 JMX 设计模式,或者 this 没有实现指定的接口。

StandardMBean

public StandardMBean(T implementation,
                     Class<T> mbeanInterface,
                     boolean isMXBean)

使用指定的 mbeanInterface 类从对象 implementation 中生成 DynamicMBean。此构造方法可以用来生成 Standard MBean 或 MXBean。与构造方法 StandardMBean(Object, Class) 不同,它不抛出 NotCompliantMBeanException。

类型参数:
T - 允许编译器查看 implementation 是否确实实现了 mbeanInterface 描述的类。编译器只在 mbeanInterfaceMyMBean.class 之类的类字面值时才能进行检查。
参数:
implementation - 此 MBean 的实现。
mbeanInterface - 由此 MBean 实现导出的管理接口。如果为 null,则此对象将使用标准 JMX 设计模式来确定与指定实现关联的管理接口。
isMXBean - 如果为 true,则 mbeanInterface 参数表示 MXBean 接口,得到的 MBean 是一个 MXBean。
抛出:
IllegalArgumentException - 如果给定的 implementation 为 null;或者 mbeanInterface 不遵守管理接口的 JMX 设计模式;或者给定的 implementation 没有实现指定的接口。
从以下版本开始:
1.6

StandardMBean

protected StandardMBean(Class<?> mbeanInterface,
                        boolean isMXBean)

使用指定的 mbeanInterface 类从 this 中生成 DynamicMBean。此构造方法可以用来生成 Standard MBean 或 MXBean。与构造方法 StandardMBean(Object, Class) 不同,它不抛出 NotCompliantMBeanException。

调用 this(this, mbeanInterface, isMXBean)。此构造方法是为子类保留的。

参数:
mbeanInterface - 由此 MBean 导出的管理接口。
isMXBean - 如果为 true,则 mbeanInterface 参数表示 MXBean 接口,得到的 MBean 是一个 MXBean。
抛出:
IllegalArgumentException - 如果 mbeanInterface 不遵从管理接口的 JMX 设计模式,或者 this 没有实现指定的接口。
从以下版本开始:
1.6
方法详细信息

setImplementation

public void setImplementation(Object implementation)
                       throws NotCompliantMBeanException

替换包装在此对象中的实现对象。

参数:
implementation - 此 Standard MBean(或 MXBean)的新实现。implementation 对象必须实现构造此 StandardMBean 时提供的 Standard MBean(或 MXBean)接口。
抛出:
IllegalArgumentException - 如果给定的 implementation 为 null
NotCompliantMBeanException - 如果给定的 implementation 没有实现构造时提供的 Standard MBean(或 MXBean)接口。
另请参见:
getImplementation()

getImplementation

public Object getImplementation()
获取此 Standard MBean(或 MXBean)的实现。

返回:
此 Standard MBean(或 MXBean)的实现。
另请参见:
setImplementation(java.lang.Object)

getMBeanInterface

public final Class<?> getMBeanInterface()
获取此 Standard MBean(或 MXBean)的管理接口。

返回:
此 Standard MBean(或 MXBean)的管理接口。

getImplementationClass

public Class<?> getImplementationClass()
获取此 Standard MBean(或 MXBean)的实现类。

返回:
此 Standard MBean(或 MXBean)的实现类。

getAttribute

public Object getAttribute(String attribute)
                    throws AttributeNotFoundException,
                           MBeanException,
                           ReflectionException
从接口 DynamicMBean 复制的描述
获得 Dynamic MBean 的特定属性的值。

指定者:
接口 DynamicMBean 中的 getAttribute
参数:
attribute - 要检索的属性名
返回:
所检索属性的值。
抛出:
AttributeNotFoundException
MBeanException - 包装由 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 复制的描述
设置 Dynamic MBean 的特定属性的值。

指定者:
接口 DynamicMBean 中的 setAttribute
参数:
attribute - 要设置的属性的标识及其要设置成的值。
抛出:
AttributeNotFoundException
InvalidAttributeValueException
MBeanException - 包装由 MBean 的设置方法所抛出的 java.lang.Exception
ReflectionException - 包装试图调用设置方法时所抛出的 java.lang.Exception
另请参见:
DynamicMBean.getAttribute(java.lang.String)

getAttributes

public AttributeList getAttributes(String[] attributes)
从接口 DynamicMBean 复制的描述
获得 Dynamic MBean 多个属性的值。

指定者:
接口 DynamicMBean 中的 getAttributes
参数:
attributes - 要检索的属性列表。
返回:
已检索的属性列表。
另请参见:
DynamicMBean.setAttributes(javax.management.AttributeList)

setAttributes

public AttributeList setAttributes(AttributeList attributes)
从接口 DynamicMBean 复制的描述
设置 Dynamic MBean 多个属性的值。

指定者:
接口 DynamicMBean 中的 setAttributes
参数:
attributes - 属性列表:要设置的属性的标识及其要设置成的值。
返回:
已设置的属性的列表,以及它们的新值。
另请参见:
DynamicMBean.getAttributes(java.lang.String[])

invoke

public Object invoke(String actionName,
                     Object[] params,
                     String[] signature)
              throws MBeanException,
                     ReflectionException
从接口 DynamicMBean 复制的描述
允许在 Dynamic MBean 上调用某个操作。

指定者:
接口 DynamicMBean 中的 invoke
参数:
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 不为 null,则将其返回。
否则,此方法将使用为此 MBean 指定的管理接口构建此 MBean 的默认 MBeanInfo。

在构建 MBeanInfo 时,此方法将调用一些自定义钩子,这些钩子使子类能够提供其自定义描述、参数名称等。
最后,它将调用 cacheMBeanInfo(),以便缓存新的 MBeanInfo。

指定者:
接口 DynamicMBean 中的 getMBeanInfo
返回:
如果不为 null,则返回缓存的该 MBean 的 MBeanInfo,如果没有缓存它,则返回新构建的 MBeanInfo。

getClassName

protected String getClassName(MBeanInfo info)
自定义钩子:获取将在由此 MBean 返回的 MBeanInfo 中使用的 className。
子类可以重定义此方法来提供其自定义类名称。默认实现返回 info.getClassName()

参数:
info - 通过反射派生的默认 MBeanInfo。
返回:
新 MBeanInfo 的类名称。

getDescription

protected String getDescription(MBeanInfo info)
自定义钩子:获取将在由此 MBean 返回的 MBeanInfo 中使用的描述。
子类可以重定义此方法来提供其自定义 MBean 描述。默认实现返回 info.getDescription()

参数:
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 的第 sequence 个 BeanParameterInfo 的描述。
子类可以重定义此方法来提供其自定义描述。默认实现返回 param.getDescription()

参数:
ctor - 通过反射派生的默认 MBeanConstructorInfo。
param - 通过反射派生的默认 MBeanParameterInfo。
sequence - 要考虑的参数序列号("0" 是第一个参数,"1" 是第二个参数,依此类推)。
返回:
对给定 MBeanParameterInfo 的描述。

getParameterName

protected String getParameterName(MBeanConstructorInfo ctor,
                                  MBeanParameterInfo param,
                                  int sequence)
自定义钩子:获取将用于由此 MBean 返回的 MBeanConstructorInfo 的第 sequence 个 BeanParameterInfo 的名称。
子类可以重定义此方法来提供其自定义参数名称。默认实现返回 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 中使用的操作的 impact 标志。
子类可重定义此方法来提供其自定义 impact 标志。默认实现返回 info.getImpact()

参数:
info - 通过反射派生的默认 MBeanOperationInfo。
返回:
给定 MBeanOperationInfo 的 impact 标志。

getParameterName

protected String getParameterName(MBeanOperationInfo op,
                                  MBeanParameterInfo param,
                                  int sequence)
自定义钩子:获取将用于由此 MBean 返回的 MBeanOperationInfo 的第 sequence 个 MBeanParameterInfo 的名称。
子类可以重定义此方法来提供其自定义参数名称。默认实现返回 param.getName()

参数:
op - 通过反射派生的默认 MBeanOperationInfo。
param - 通过反射派生的默认 MBeanParameterInfo。
sequence - 要考虑的参数序列号("0" 是第一个参数,"1" 是第二个参数,依此类推)。
返回:
将用于给定 MBeanParameterInfo 的名称。

getDescription

protected String getDescription(MBeanOperationInfo op,
                                MBeanParameterInfo param,
                                int sequence)
自定义钩子:获取将用于由此 MBean 返回的 MBeanOperationInfo 的第 sequence 个 MBeanParameterInfo 的描述。
子类可以重定义此方法来提供其自定义描述。默认实现返回 param.getDescription()

参数:
op - 通过反射派生的默认 MBeanOperationInfo。
param - 通过反射派生的默认 MBeanParameterInfo。
sequence - 要考虑的参数序列号("0" 是第一个参数,"1" 是第二个参数,依此类推)。
返回:
对给定 MBeanParameterInfo 的描述。

getConstructors

protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors,
                                                 Object impl)
自定义钩子:获取将在由此 MBean 返回的 MBeanInfo 中使用的 MBeanConstructorInfo[]。
默认情况下,如果包装实现不是 this,则此方法返回 null。实际上,如果包装实现不是此对象自身,则不可能通过 MBeanServer.createMBean(...) 调用实现构造方法来重新创建一个包装实现。
换句话说,如果包装实现为 this,则返回 ctors
子类可以重新定义此方法来修改此行为(如果需要)。

参数:
ctors - 通过反射派生的默认 MBeanConstructorInfo[]。
impl - 包装实现。如果传递了 null,则包装实现将被忽略,并且返回 ctors
返回:
新 MBeanInfo 的 MBeanConstructorInfo[]。

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 Exception

允许 MBean 在 MBean 服务器中注册之前执行任何它所需要的操作。如果未指定 MBean 的名称,则该 MBean 可以提供一个注册名称。如果引发任何异常,则该 MBean 不会被注册到 MBean 服务器中。

此方法的默认实现返回默认 name 参数。对于 Standard MBean,它不再执行其他操作。对于 MXBean,它记录 MBeanServerObjectName 参数,以供转换内部 MXBean 引用时使用。

对于子类,一个很好的做法是重写此方法,从而通过 super.preRegister(...) 调用重写的方法。如果此对象是其他 MXBean 中的属性或操作所引用的 MXBean,则此操作是必需的。

指定者:
接口 MBeanRegistration 中的 preRegister
参数:
server - 将在其中注册该 MBean 的 MBean 服务器。
name - MBean 的对象名。如果 MBeanServer 接口中的某个 createMBean 方法或 registerMBean 方法的 name 参数为 null,则此 name 也为 null。在这种情况下,此方法必须为新 MBean 返回非 null 的 ObjectName。
返回:
MBean 要被注册的名称。此值不得为 null。如果 name 参数不为 null,则它通常(但并非一定)为返回值。
抛出:
IllegalArgumentException - 如果此对象为 MXBean 且 name 为 null。
InstanceAlreadyExistsException - 如果此对象为 MXBean,且已经用(此 MBean Server 或其他 MBean Server 中的)另一个名称注册。
Exception - 此方法不抛出其他经过检查的异常,在这里声明 Exception 是为了供子类重写该方法并抛出它们的异常。
从以下版本开始:
1.6

postRegister

public void postRegister(Boolean registrationDone)

允许 MBean 在已注册到 MBean 服务器之后或注册已失败之后执行任何它所需要的操作。

对于 Standard MBean,此方法的默认实现不再执行任何操作。对于 MXBean,如果注册失败,它取消所有 preRegister 已完成的操作。

对于子类,一个很好的做法是重写此方法,从而通过 super.postRegister(...) 调用重写的方法。 如果此对象是其他 MXBean 中的属性或操作所引用的 MXBean,则此操作是必需的。

指定者:
接口 MBeanRegistration 中的 postRegister
参数:
registrationDone - 指示该 MBean 是否已在 MBean 服务器中成功注册。false 值意味着注册阶段已失败。
从以下版本开始:
1.6

preDeregister

public void preDeregister()
                   throws Exception

允许 MBean 由 MBean 服务器取消注册前执行任何它所需要的操作。

此方法的默认实现不执行任何操作。

对于子类,一个很好的做法是重写此方法,从而通过 super.preDeegister(...) 调用重写的方法。

指定者:
接口 MBeanRegistration 中的 preDeregister
抛出:
Exception - 此方法不抛出经过检查的异常,这里声明 Exception 是为了供子类重写该方法并抛出它们的异常。
从以下版本开始:
1.6

postDeregister

public void postDeregister()

允许 MBean 在 MBean 服务器中取消注册后执行任何它所需要的操作。

对于 Standard MBean,此方法的默认实现不再执行任何操作。对于 MXBean,它移除 preRegister 方法记录的所有信息。

对于子类,一个很好的做法是重写此方法,从而通过 super.postRegister(...) 调用重写的方法。如果此对象是其他 MXBean 中的属性或操作所引用的 MXBean,则此操作是必需的。

指定者:
接口 MBeanRegistration 中的 postDeregister
从以下版本开始:
1.6

JavaTM Platform
Standard Ed. 6

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

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