モジュール java.management
パッケージ javax.management

クラスStandardEmitterMBean

java.lang.Object
javax.management.StandardMBean
javax.management.StandardEmitterMBean
すべての実装されたインタフェース:
DynamicMBean, MBeanRegistration, NotificationBroadcaster, NotificationEmitter

public class StandardEmitterMBean extends StandardMBean implements NotificationEmitter

Javaインタフェースのリフレクションによって管理インタフェースを決定し、通知を発行するMBeanです。

次の例は、publicコンストラクタStandardEmitterMBean(implementation, mbeanInterface, emitter)を使用して、任意の実装クラス名Impl、任意のインタフェースIntfで定義された管理インタフェース(現在のStandard MBean用)、およびインタフェースNotificationEmitterの任意の実装を指定し、通知を発行するMBeanを作成する方法を示しています。 この例では、NotificationBroadcasterSupportクラスをインタフェースNotificationEmitterの実装として使用します。

     MBeanServer mbs;
     ...
     final String[] types = new String[] {"sun.disc.space","sun.disc.alarm"};
     final MBeanNotificationInfo info = new MBeanNotificationInfo(
                                          types,
                                          Notification.class.getName(),
                                          "Notification about disc info.");
     final NotificationEmitter emitter =
                    new NotificationBroadcasterSupport(info);

     final Intf impl = new Impl(...);
     final Object mbean = new StandardEmitterMBean(
                                     impl, Intf.class, emitter);
     mbs.registerMBean(mbean, objectName);
     
導入されたバージョン:
1.6
関連項目:
  • コンストラクタの詳細

    • StandardEmitterMBean

      public StandardEmitterMBean(T implementation, Class<T> mbeanInterface, NotificationEmitter emitter)

      指定された実装を持ち、指定されたNotificationEmitterで通知が処理される、管理インタフェースがmbeanInterfaceで指定されたMBeanを作成します。 生成されるMBeanは、そのメソッドをemitterに転送することにより、NotificationEmitterインタフェースを実装します。 implementationおよびemitterを同じオブジェクトにすることは、正当で有用です。

      emitter NotificationBroadcasterSupportのインスタンスである場合、MBeanのsendNotificationメソッドはemitter.sendNotificationを呼び出します。

      新規MBeanでgetNotificationInfo()により返される配列は、構築時にemitter.getNotificationInfo()により返される配列のコピーです。 emitter.getNotificationInfo()により返された配列があとで変更されても、オブジェクトのgetNotificationInfo()が影響を受けることはありません。

      型パラメータ:
      T - MBeanの実装型
      パラメータ:
      implementation - MBeanインタフェースの実装。
      mbeanInterface - Standard MBeanインタフェース。
      emitter - 通知を処理するオブジェクト。
      例外:
      IllegalArgumentException - mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、指定されたimplementationが指定されたインタフェースを実装していない場合、またはemitterがnullの場合。
    • StandardEmitterMBean

      public StandardEmitterMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean, NotificationEmitter emitter)

      指定された実装を持ち、指定された NotificationEmitterで通知が処理される、管理インタフェースがmbeanInterfaceで指定されたMBeanを作成します。 このコンストラクタは、Standard MBeanまたはMXBeanの作成に使用できます。 生成されるMBeanは、そのメソッドをemitterに転送することにより、NotificationEmitterインタフェースを実装します。 implementationおよびemitterを同じオブジェクトにすることは、正当で有用です。

      emitter NotificationBroadcasterSupportのインスタンスである場合、MBeanのsendNotificationメソッドはemitter.sendNotificationを呼び出します。

      新規MBeanでgetNotificationInfo()により返される配列は、構築時にemitter.getNotificationInfo()により返される配列のコピーです。 emitter.getNotificationInfo()により返された配列があとで変更されても、オブジェクトのgetNotificationInfo()が影響を受けることはありません。

      型パラメータ:
      T - MBeanの実装型
      パラメータ:
      implementation - MBeanインタフェースの実装。
      mbeanInterface - Standard MBeanインタフェース。
      isMXBean - trueの場合、mbeanInterfaceパラメータによりMXBeanインタフェースが指定され、結果のMBeanはMXBeanになる。
      emitter - 通知を処理するオブジェクト。
      例外:
      IllegalArgumentException - mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、指定されたimplementationが指定されたインタフェースを実装していない場合、またはemitterがnullの場合。
    • StandardEmitterMBean

      protected StandardEmitterMBean(Class<?> mbeanInterface, NotificationEmitter emitter)

      管理インタフェースがmbeanInterfaceで指定されたMBeanを作成します。通知は、指定したNotificationEmitterにより処理されます。 生成されるMBeanは、そのメソッドをemitterに転送することにより、NotificationEmitterインタフェースを実装します。

      emitter NotificationBroadcasterSupportのインスタンスである場合、MBeanのsendNotificationメソッドはemitter.sendNotificationを呼び出します。

      新規MBeanでgetNotificationInfo()により返される配列は、構築時にemitter.getNotificationInfo()により返される配列のコピーです。 emitter.getNotificationInfo()により返された配列があとで変更されても、オブジェクトのgetNotificationInfo()が影響を受けることはありません。

      このコンストラクタの呼出しは、指定したmbeanInterfaceを実装するサブクラスから行う必要があります。

      パラメータ:
      mbeanInterface - StandardMBeanインタフェース。
      emitter - 通知を処理するオブジェクト。
      例外:
      IllegalArgumentException - mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、thisが指定されたインタフェースを実装していない場合、またはemitterがnullの場合。
    • StandardEmitterMBean

      protected StandardEmitterMBean(Class<?> mbeanInterface, boolean isMXBean, NotificationEmitter emitter)

      管理インタフェースがmbeanInterfaceで指定されたMBeanを作成します。通知は、指定したNotificationEmitterにより処理されます。 このコンストラクタは、Standard MBeanまたはMXBeanの作成に使用できます。 生成されるMBeanは、そのメソッドをemitterに転送することにより、NotificationEmitterインタフェースを実装します。

      emitter NotificationBroadcasterSupportのインスタンスである場合、MBeanのsendNotificationメソッドはemitter.sendNotificationを呼び出します。

      新規MBeanでgetNotificationInfo()により返される配列は、構築時にemitter.getNotificationInfo()により返される配列のコピーです。 emitter.getNotificationInfo()により返された配列があとで変更されても、オブジェクトのgetNotificationInfo()が影響を受けることはありません。

      このコンストラクタの呼出しは、指定したmbeanInterfaceを実装するサブクラスから行う必要があります。

      パラメータ:
      mbeanInterface - StandardMBeanインタフェース。
      isMXBean - trueの場合、mbeanInterfaceパラメータによりMXBeanインタフェースが指定され、結果のMBeanはMXBeanになる。
      emitter - 通知を処理するオブジェクト。
      例外:
      IllegalArgumentException - mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、thisが指定されたインタフェースを実装していない場合、またはemitterがnullの場合。
  • メソッドの詳細