|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface NotificationEmitter
Notification を発行する MBean が実装しているインタフェース。このインタフェースにより、リスナーを通知リスナーとして MBean に登録できます。
MBean は、通知の発行時に、addNotificationListener
を使って追加され、かつ removeNotificationListener
を使って削除されていない各リスナーを考慮に入れます。リスナーに対してフィルタが提供された場合、およびフィルタの isNotificationEnabled
メソッドが false を返す場合、そのリスナーは無視されます。それ以外の場合、通知、および addNotificationListener
に提供されたハンドバックオブジェクトを使って、リスナーの handleNotification
メソッドが呼び出されます。
同一のリスナーが複数回追加される場合、追加されるたびに考慮されます。これは、1 つのリスナーを異なるフィルタやハンドバックオブジェクトを使って追加する場合に、しばしば役立ちます。
このインタフェースの実装は、フィルタやリスナーのメソッドが呼び出されるスレッドにより異なることがあります。
フィルタまたはリスナーのメソッド呼び出しにより Exception
がスローされる場合、ほかのリスナーの呼び出しがその例外により妨げられないようにする必要があります。ただし、メソッド呼び出しにより Error
がスローされる場合は、その時点で通知の処理を停止することが推奨されています。また、Error
を通知の送信側に送ることが可能であれば、そうしてください。
新しいコードは、このインタフェースを、NotificationBroadcaster
インタフェースより優先します。
このインタフェースおよび NotificationBroadcaster
の実装では、同期を注意深く行う必要があります。特に、実装がリスナーの呼び出し時にロックを保持するのは、良い方法ではありません。通知のディスパッチ中にリスナーのリストが変更される可能性に対処する良い方法は、このリストで CopyOnWriteArrayList
を使用することです。
メソッドの概要 | |
---|---|
void |
removeNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
この MBean からリスナーを削除します。 |
インタフェース javax.management.NotificationBroadcaster から継承されたメソッド |
---|
addNotificationListener, getNotificationInfo, removeNotificationListener |
メソッドの詳細 |
---|
void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
この MBean からリスナーを削除します。MBean は、指定された listener
、filter
、および handback
パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの 1 つだけが削除されます。
削除されるリスナー内で null が指定されている場合、filter
および handback
パラメータは null になります。
listener
- 以前にこの MBean に追加されたリスナーfilter
- リスナーの追加時に指定されたフィルタhandback
- リスナーの追加時に指定されたハンドバック
ListenerNotFoundException
- リスナーが MBean に 登録されていない場合、または指定されたフィルタおよびハンドバックで 登録されていない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。