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