- 所有已知的实现类:
CounterMonitor,GaugeMonitor,JMXConnectorServer,MLet,Monitor,PrivateMLet,RelationService,RelationSupport,RequiredModelMBean,RMIConnectorServer,StandardEmitterMBean,StandardMBean,StringMonitor,Timer
public interface MBeanRegistration
可以由 MBean 实现,以便在从 MBean Server 注册或注销之前和之后执行操作。 MBean 也可以实现此接口,以便获得对 MBean Server 的引用和/或其在该 MBean Server 中的名称。
- 自从:
- 1.5
-
方法总结
修饰符和类型方法描述void允许 MBean 在 MBean 服务中注销后执行所需的任何操作。voidpostRegister(Boolean registrationDone) 允许 MBean 在 MBean 服务中注册后或注册失败后执行所需的任何操作。void允许 MBean 在被MBean 服务注销之前执行它需要的任何操作。preRegister(MBeanServer server, ObjectName name) 允许 MBean 在注册到 MBean Server 之前执行它需要的任何操作。
-
方法详情
-
preRegister
允许 MBean 在注册到 MBean Server 之前执行它需要的任何操作。如果未指定 MBean 的名称,则 MBean 可以为其注册提供一个名称。如果出现任何异常,MBean 将不会在 MBean Server 中注册。- 参数:
server- 将在其中注册 MBean 的 MBean 服务。name- MBean 的对象名称。如果MBeanServer接口中的createMBean或registerMBean方法之一的名称参数为空,则此名称为空。在这种情况下,此方法必须为新的 MBean 返回一个非空的 ObjectName。- 返回:
-
MBean 将在其下注册的名称。该值不能为空。如果
name参数不为 null,则它通常但不一定是返回值。 - 抛出:
Exception- 此异常将被 MBean Server 捕获并作为MBeanRegistrationException重新抛出。
-
postRegister
允许 MBean 在 MBean 服务中注册后或注册失败后执行所需的任何操作。如果此方法的实现抛出
RuntimeException或Error,则 MBean Server 将分别重新抛出RuntimeMBeanException或RuntimeErrorException中的那些。但是,在postRegister中抛出异常不会更改 MBean 的状态:如果 MBean 已经注册(registrationDone是true),则 MBean 将保持注册状态。这可能会使调用
createMBean()或registerMBean()的代码感到困惑,因为此类代码可能会假定在引发此类异常时 MBean 注册失败。因此,建议postRegister的实现在可以避免的情况下不要抛出运行时异常或错误。- 参数:
registrationDone- 指示 MBean 是否已在 MBean 服务中成功注册。值 false 表示注册阶段失败。
-
preDeregister
允许 MBean 在被MBean 服务注销之前执行它需要的任何操作。- 抛出:
Exception- 此异常将被 MBean 服务捕获并作为MBeanRegistrationException重新抛出。
-
postDeregister
void postDeregister()允许 MBean 在 MBean 服务中注销后执行所需的任何操作。如果此方法的实现抛出
RuntimeException或Error,则 MBean Server 将分别重新抛出RuntimeMBeanException或RuntimeErrorException中的那些。但是,在postDeregister中抛出异常不会更改 MBean 的状态:MBean 已成功注销并将保持这种状态。这可能会使调用
unregisterMBean()的代码感到困惑,因为它可能假定 MBean 注销失败。因此,建议postDeregister的实现在可以避免的情况下不要抛出运行时异常或错误。
-