モジュール java.management
パッケージ 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
    関連項目:
    StandardMBean
    • コンストラクタの詳細

      • StandardEmitterMBean

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

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

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

        NotificationBroadcaster.getNotificationInfo()によって新しいMBeanに返される配列は、構築時に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を呼び出します。

        NotificationBroadcaster.getNotificationInfo()によって新しいMBeanに返される配列は、構築時に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を呼び出します。

        NotificationBroadcaster.getNotificationInfo()によって新しいMBeanに返される配列は、構築時に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を呼び出します。

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

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

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

      • sendNotification

        public void sendNotification​(Notification n)

        通知を送信します。

        コンストラクタに渡されるemitterパラメータがNotificationBroadcasterSupportのインスタンスであった場合、このメソッドはemitter.sendNotificationを呼び出します。

        パラメータ:
        n - 送信する通知。
        例外:
        ClassCastException - コンストラクタに渡されるemitterパラメータがNotificationBroadcasterSupportでなかった場合。