Module  java.management
软件包  javax.management

Interface MBeanRegistration

    • 方法详细信息

      • preRegister

        ObjectName preRegister​(MBeanServer server,
                               ObjectName name)
                        throws 异常
        允许MBean在MBean服务器注册之前执行所需的任何操作。 如果未指定MBean的名称,则MBean可以为其注册提供一个名称。 如果引发任何异常,MBean将不会在MBean服务器中注册。
        参数
        server - MBean将在其中注册的MBean服务器。
        name - MBean的对象名称。 如果MBeanServer接口中的createMBeanregisterMBean方法之一的name参数为null,则此名称为null。 在这种情况下,此方法必须为新的MBean返回非空的ObjectName。
        结果
        要注册MBean的名称。 此值不能为空。 如果name参数不为空,则通常不一定是返回值。
        异常
        异常 - 此异常将被MBean服务器捕获,并重新抛出为MBeanRegistrationException
      • postRegister

        void postRegister​(Boolean registrationDone)
        允许MBean在MBean服务器中注册或注册失败后执行所需的操作。

        如果这种方法的实现会抛出一个RuntimeException或一个Error ,那么MBean服务器会分别推翻RuntimeMBeanExceptionRuntimeErrorException 但是,在postRegister抛出异常将不会更改MBean的状态:如果MBean已经注册( registrationDonetrue ),则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服务器会分别推翻RuntimeMBeanExceptionRuntimeErrorException 但是,在postDeregister抛出异常将不会更改MBean的状态:MBean已成功注销,并将保持不变。

        这可能会使代码调用unregisterMBean()变得混乱,因为它可能会假设MBean注销失败。 因此,如果可以避免,建议postDeregister实现不会抛出运行时异常或错误。