接口 MBeanRegistration

所有已知的实现类:
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 服务中注销后执行所需的任何操作。
    void
    postRegister(Boolean registrationDone)
    允许 MBean 在 MBean 服务中注册后或注册失败后执行所需的任何操作。
    void
    允许 MBean 在被MBean 服务注销之前执行它需要的任何操作。
    允许 MBean 在注册到 MBean Server 之前执行它需要的任何操作。
  • 方法详情

    • preRegister

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

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

      如果此方法的实现抛出 RuntimeException Error ,则 MBean Server 将分别重新抛出 RuntimeMBeanException RuntimeErrorException 中的那些。但是,在 postRegister 中抛出异常不会更改 MBean 的状态:如果 MBean 已经注册(registrationDonetrue ),则 MBean 将保持注册状态。

      这可能会使调用 createMBean()registerMBean() 的代码感到困惑,因为此类代码可能会假定在引发此类异常时 MBean 注册失败。因此,建议 postRegister 的实现在可以避免的情况下不要抛出运行时异常或错误。

      参数:
      registrationDone - 指示 MBean 是否已在 MBean 服务中成功注册。值 false 表示注册阶段失败。
    • preDeregister

      void preDeregister() throws Exception
      允许 MBean 在被MBean 服务注销之前执行它需要的任何操作。
      抛出:
      Exception - 此异常将被 MBean 服务捕获并作为 MBeanRegistrationException 重新抛出。
    • postDeregister

      void postDeregister()
      允许 MBean 在 MBean 服务中注销后执行所需的任何操作。

      如果此方法的实现抛出 RuntimeException Error ,则 MBean Server 将分别重新抛出 RuntimeMBeanException RuntimeErrorException 中的那些。但是,在 postDeregister 中抛出异常不会更改 MBean 的状态:MBean 已成功注销并将保持这种状态。

      这可能会使调用 unregisterMBean() 的代码感到困惑,因为它可能假定 MBean 注销失败。因此,建议 postDeregister 的实现在可以避免的情况下不要抛出运行时异常或错误。