- すべての実装されたインタフェース:
DynamicMBean
,MBeanRegistration
,NotificationBroadcaster
,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
- 関連項目:
-
コンストラクタのサマリー
修飾子コンストラクタ説明protected
StandardEmitterMBean
(Class<?> mbeanInterface, boolean isMXBean, NotificationEmitter emitter) 管理インタフェースがmbeanInterface
で指定されたMBeanを作成します。通知は、指定したNotificationEmitter
により処理されます。protected
StandardEmitterMBean
(Class<?> mbeanInterface, NotificationEmitter emitter) 管理インタフェースがmbeanInterface
で指定されたMBeanを作成します。通知は、指定したNotificationEmitter
により処理されます。StandardEmitterMBean
(T implementation, Class<T> mbeanInterface, boolean isMXBean, NotificationEmitter emitter) 指定された実装を持ち、指定されたNotificationEmitter
で通知が処理される、管理インタフェースがmbeanInterface
で指定されたMBeanを作成します。StandardEmitterMBean
(T implementation, Class<T> mbeanInterface, NotificationEmitter emitter) 指定された実装を持ち、指定されたNotificationEmitter
で通知が処理される、管理インタフェースがmbeanInterface
で指定されたMBeanを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明void
addNotificationListener
(NotificationListener listener, NotificationFilter filter, Object handback) このMBeanにリスナーを追加します。このMBeanが送信する可能性のある各通知について、その通知のJavaクラス名と通知タイプを示す配列を返します。void
このMBeanからリスナーを削除します。void
removeNotificationListener
(NotificationListener listener, NotificationFilter filter, Object handback) このMBeanからリスナーを削除します。void
通知を送信します。クラス javax.management.StandardMBeanで宣言されたメソッド
cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, invoke, postDeregister, postRegister, preDeregister, preRegister, setAttribute, setAttributes, setImplementation
-
コンストラクタの詳細
-
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の場合。
-
-
メソッドの詳細
-
removeNotificationListener
public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException インタフェースからコピーされた説明:NotificationBroadcaster
このMBeanからリスナーを削除します。 リスナーが別のハンドバック・オブジェクトまたは通知フィルタに登録されている場合、このリスナーに対応するすべてのエントリが削除されます。- 定義:
removeNotificationListener
、インタフェースNotificationBroadcaster
- パラメータ:
listener
- 以前にこのMBeanに追加されたリスナー。- 例外:
ListenerNotFoundException
- リスナーがMBeanに登録されていない場合。- 関連項目:
-
removeNotificationListener
public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException インタフェースからコピーされた説明:NotificationEmitter
このMBeanからリスナーを削除します。 MBeanは、指定された
listener
、filter
、およびhandback
パラメータと正確に一致するリスナーを持っている必要があります。 該当するリスナーが複数存在する場合、そのうちの1つだけが削除されます。削除されるリスナー内でnullが指定されている場合にのみ、
filter
およびhandback
パラメータはnullになります。- 定義:
removeNotificationListener
、インタフェースNotificationEmitter
- パラメータ:
listener
- 以前にこのMBeanに追加されたリスナー。filter
- リスナーの追加時に指定されたフィルタ。handback
- リスナーの追加時に指定されたハンドバック。- 例外:
ListenerNotFoundException
- リスナーがMBeanに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。
-
addNotificationListener
public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) インタフェースからコピーされた説明:NotificationBroadcaster
このMBeanにリスナーを追加します。- 定義:
addNotificationListener
、インタフェースNotificationBroadcaster
- パラメータ:
listener
- ブロードキャスタが発行した通知を処理するリスナー・オブジェクト。filter
- フィルタ・オブジェクト。 フィルタがnullの場合、通知処理の前にフィルタは適用されない。handback
- 通知の発行時にリスナーに送信される不透明なオブジェクト。 Notificationブロードキャスタ・オブジェクトは、このオブジェクトを使用できない。 このオブジェクトは、手を加えない状態で、通知とともにリスナーへ送り返されなければならない。- 関連項目:
-
getNotificationInfo
public MBeanNotificationInfo[] getNotificationInfo()インタフェースからコピーされた説明:NotificationBroadcaster
このMBeanが送信する可能性のある各通知について、その通知のJavaクラス名と通知タイプを示す配列を返します。
この配列に記述されていない通知をMBeanが送信しても、不正ではありません。 ただし一部のMBeanサーバー・クライアントは、正しく機能するために、作成される配列に依存する場合があります。
- 定義:
getNotificationInfo
、インタフェースNotificationBroadcaster
- 戻り値:
- 可能な通知の配列。
-
sendNotification
public void sendNotification(Notification n) 通知を送信します。
コンストラクタに渡される
emitter
パラメータがNotificationBroadcasterSupport
のインスタンスであった場合、このメソッドはemitter.
sendNotification
を呼び出します。- パラメータ:
n
- 送信する通知。- 例外:
ClassCastException
- コンストラクタに渡されるemitter
パラメータがNotificationBroadcasterSupport
でなかった場合。
-