JavaTM Platform
Standard Ed. 6

javax.management
インタフェース NotificationEmitter

すべてのスーパーインタフェース:
NotificationBroadcaster
既知の実装クラスの一覧:
CounterMonitor, GaugeMonitor, JMXConnectorServer, MBeanServerDelegate, Monitor, NotificationBroadcasterSupport, RelationService, RequiredModelMBean, RMIConnectorServer, StandardEmitterMBean, StringMonitor, Timer

public interface NotificationEmitter
extends NotificationBroadcaster

Notification を発行する MBean が実装しているインタフェース。このインタフェースにより、リスナーを通知リスナーとして MBean に登録できます。

通知ディスパッチ

MBean は、通知の発行時に、addNotificationListener を使って追加され、かつ removeNotificationListener を使って削除されていない各リスナーを考慮に入れます。リスナーに対してフィルタが提供された場合、およびフィルタの isNotificationEnabled メソッドが false を返す場合、そのリスナーは無視されます。それ以外の場合、通知、および addNotificationListener に提供されたハンドバックオブジェクトを使って、リスナーの handleNotification メソッドが呼び出されます。

同一のリスナーが複数回追加される場合、追加されるたびに考慮されます。これは、1 つのリスナーを異なるフィルタやハンドバックオブジェクトを使って追加する場合に、しばしば役立ちます。

このインタフェースの実装は、フィルタやリスナーのメソッドが呼び出されるスレッドにより異なることがあります。

フィルタまたはリスナーのメソッド呼び出しにより Exception がスローされる場合、ほかのリスナーの呼び出しがその例外により妨げられないようにする必要があります。ただし、メソッド呼び出しにより Error がスローされる場合は、その時点で通知の処理を停止することが推奨されています。また、Error を通知の送信側に送ることが可能であれば、そうしてください。

新しいコードは、このインタフェースを、NotificationBroadcaster インタフェースより優先します。

このインタフェースおよび NotificationBroadcaster の実装では、同期を注意深く行う必要があります。特に、実装がリスナーの呼び出し時にロックを保持するのは、良い方法ではありません。通知のディスパッチ中にリスナーのリストが変更される可能性に対処する良い方法は、このリストで CopyOnWriteArrayList を使用することです。

導入されたバージョン:
1.5

メソッドの概要
 void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
          この MBean からリスナーを削除します。
 
インタフェース javax.management.NotificationBroadcaster から継承されたメソッド
addNotificationListener, getNotificationInfo, removeNotificationListener
 

メソッドの詳細

removeNotificationListener

void removeNotificationListener(NotificationListener listener,
                                NotificationFilter filter,
                                Object handback)
                                throws ListenerNotFoundException

この MBean からリスナーを削除します。MBean は、指定された listenerfilter、および handback パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの 1 つだけが削除されます。

削除されるリスナー内で null が指定されている場合、filter および handback パラメータは null になります。

パラメータ:
listener - 以前にこの MBean に追加された リスナー
filter - リスナーの追加時に指定された フィルタ
handback - リスナーの追加時に指定された ハンドバック
例外:
ListenerNotFoundException - リスナーが MBean に 登録されていない場合、または指定されたフィルタおよびハンドバックで 登録されていない場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。