-
- 所有已知实现类:
-
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
postDeregister()
允许MBean在MBean服务器中取消注册后执行所需的任何操作。void
postRegister(Boolean registrationDone)
允许MBean在MBean服务器中注册后或注册失败后执行所需的任何操作。void
preDeregister()
允许MBean在MBean服务器取消注册之前执行所需的任何操作。ObjectName
preRegister(MBeanServer server, ObjectName name)
允许MBean在MBean Server中注册之前执行所需的任何操作。
-
-
-
方法详细信息
-
preRegister
ObjectName preRegister(MBeanServer server, ObjectName name) throws 异常
允许MBean在MBean Server中注册之前执行所需的任何操作。 如果未指定MBean的名称,则MBean可以为其注册提供名称。 如果引发任何异常,MBean将不会在MBean Server中注册。- 参数
-
server
- 将在其中注册MBean的MBean Server。 -
name
- MBean的对象名称。 如果MBeanServer
接口中的createMBean
或registerMBean
方法之一的name参数为null,则此名称为null。 在这种情况下,此方法必须为新MBean返回非null ObjectName。 - 结果
-
要注册MBean的名称。
此值不得为null。
如果
name
参数不为null,则通常但不一定是返回值。 - 异常
-
异常
- 此异常将被MBean服务器捕获并重新抛出为MBeanRegistrationException
。
-
postRegister
void postRegister(Boolean registrationDone)
允许MBean在MBean服务器中注册后或注册失败后执行所需的任何操作。如果此方法的实现抛出
RuntimeException
或Error
,则MBean Server将分别重新抛出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 Server将分别重新抛出RuntimeMBeanException
或RuntimeErrorException
内的那些。 但是,在postDeregister
抛出异常不会更改MBean的状态:MBean已成功取消注册,并将保持不变。对于调用
unregisterMBean()
的代码,这可能会令人困惑,因为它可能会认为MBean注销失败。 因此,如果可以避免,则建议postDeregister
实现不会抛出运行时异常或错误。
-
-