public interface MBeanRegistration
可以由MBean实现,以便在从MBean服务器注册或注销之前和之后执行操作。 MBean还可以实现此接口,以便引用该MBean服务器中的MBean服务器和/或其名称。
Modifier and Type | Method and Description |
---|---|
void |
postDeregister()
允许MBean在MBean服务器中取消注册后执行所需的任何操作。
|
void |
postRegister(Boolean registrationDone)
允许MBean在MBean服务器中注册或注册失败后执行所需的操作。
|
void |
preDeregister()
允许MBean在MBean服务器取消注册之前执行所需的任何操作。
|
ObjectName |
preRegister(MBeanServer server, ObjectName name)
允许MBean在MBean服务器注册之前执行所需的任何操作。
|
ObjectName preRegister(MBeanServer server, ObjectName name) throws 异常
server
- MBean将在其中
server
的MBean服务器。
name
- MBean的对象名称。
此名称为null如果名称参数的一个createMBean
或registerMBean
方法在MBeanServer
接口为空。
在这种情况下,此方法必须为新的MBean返回非空的ObjectName。
name
参数不为空,则通常不一定是返回值。
异常
- 这个异常将被MBean服务器捕获,并重新抛出为MBeanRegistrationException
。
void postRegister(Boolean registrationDone)
如果此方法的实现抛出一个RuntimeException
或Error
,则MBean服务器的重新抛出那些内部RuntimeMBeanException
或RuntimeErrorException
分别。 但是,在postRegister中postRegister
将不会更改MBean的状态:如果MBean已经注册( registrationDone
是true
),则MBean将保持注册。
这可能会导致代码调用createMBean()
或registerMBean()
,因为这样的代码可能会假设MBean注册失败,当提出这样的异常。 因此,如果可以避免,建议postRegister
实现不会抛出运行时异常或错误。
registrationDone
- 指示MBean服务器中MBean是否已成功注册。
值false表示注册阶段失败。
void preDeregister() throws 异常
异常
- 此异常将被MBean服务器捕获,并重新抛出为MBeanRegistrationException
。
void postDeregister()
如果此方法的实现抛出一个RuntimeException
或Error
,则MBean服务器的重新抛出那些内部RuntimeMBeanException
或RuntimeErrorException
分别。 但是,在postDeregister中postDeregister
将不会更改MBean的状态:MBean已经成功取消注册,并将保持不变。
这可能会使代码调用unregisterMBean()
,因为它可能会假设MBean注销失败。 因此,如果可以避免,建议postDeregister
实现不会抛出运行时异常或错误。