Module java.management
Package javax.management

Interface MBeanRegistration

所有已知的实现类:
CounterMonitor, GaugeMonitor, JMXConnectorServer, MLet, Monitor, PrivateMLet, RelationService, RelationSupport, RequiredModelMBean, RMIConnectorServer, StandardEmitterMBean, StandardMBean, StringMonitor, Timer

public interface MBeanRegistration

可以由MBean实现,以便在注册或从MBean服务器注销之前和之后执行操作。 MBean还可以实现此接口,以便在MBean服务器中获取对MBean服务器及/或其名称的引用。

自:
1.5
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    允许MBean在从MBean服务器注销后执行任何所需操作。
    void
    postRegister(Boolean registrationDone)
    允许MBean在在MBean服务器中注册后或注册失败后执行任何所需操作。
    void
    允许MBean在被MBean服务器注销之前执行任何所需操作。
    允许MBean在被MBean服务器注册之前执行任何所需操作。
  • Method Details

    • preRegister

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

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

      如果此方法的实现引发RuntimeExceptionError,则MBean服务器将在RuntimeMBeanExceptionRuntimeErrorException中重新抛出这些异常。但是,在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服务器注销后执行任何所需操作。

      如果此方法的实现引发RuntimeExceptionError,则MBean服务器将在RuntimeMBeanExceptionRuntimeErrorException中重新抛出这些异常。但是,在postDeregister中抛出异常不会更改MBean的状态:MBean已成功注销并将保持注销状态。

      对于调用unregisterMBean()的代码可能会感到困惑,因为它可能会假定MBean注销失败。因此,建议postDeregister的实现尽量避免抛出运行时异常或错误。