|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.management.NotificationBroadcasterSupport
public class NotificationBroadcasterSupport
NotificationEmitter
インタフェースの実装を提供します。これは、通知を送信する MBean のスーパークラスとして使用可能です。
通知ディスパッチモデルが同期モデルであるか非同期モデルであるかは指定されていません。スレッドが sendNotification
を呼び出したとき、各リスナーの NotificationListener.handleNotification
メソッドがそのスレッド内で呼び出されれば同期モデル、別のスレッド内で呼び出されれば非同期モデルということになります。
アプリケーションは、通知ディスパッチが同期または非同期であるかに依存してはなりません。
sendNotification
メソッドの終了時までに、すべてのリスナーの handleNotification
メソッドが呼び出されるわけではない。また、リスナーは、通知を生成された順に受信するとは限らない。順番に依存するリスナーは、通知シーケンス番号を使って、受信した通知の並び順を確認する (Notification.getSequenceNumber()
を参照)
sendNotification
の呼び出し元への応答の遅延を回避するため、別のスレッドでアクションを実行する
コンストラクタの概要 | |
---|---|
NotificationBroadcasterSupport()
|
メソッドの概要 | |
---|---|
void |
addNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
リスナーを追加します。 |
MBeanNotificationInfo[] |
getNotificationInfo()
この MBean が通知を送信するたびに、その通知の Java クラス名と通知型を示す配列を返します。 |
protected void |
handleNotification(NotificationListener listener,
Notification notif,
Object handback)
このメソッドは、リスナーに通知を送信するため、 sendNotification によって呼び出されます。 |
void |
removeNotificationListener(NotificationListener listener)
この MBean からリスナーを削除します。 |
void |
removeNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
この MBean からリスナーを削除します。 |
void |
sendNotification(Notification notification)
通知を送信します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public NotificationBroadcasterSupport()
メソッドの詳細 |
---|
public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
NotificationBroadcaster
内の addNotificationListener
listener
- 通知を受け取るリスナーfilter
- フィルタオブジェクト。フィルタが null の場合、通知処理の前にフィルタは適用されないhandback
- 通知の発行時にリスナーに送信される不透明なオブジェクト。Notification ブロードキャスタオブジェクトは、このオブジェクトを使用できない。このオブジェクトは、手を加えない状態で、通知と共にリスナーへ送り返されなければならない
IllegalArgumentException
- リスナーが null の場合removeNotificationListener(javax.management.NotificationListener)
public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
NotificationBroadcaster
の記述:
NotificationBroadcaster
内の removeNotificationListener
listener
- 以前にこの MBean に追加されたリスナー
ListenerNotFoundException
- リスナーが MBean に登録されていない場合NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
NotificationEmitter
の記述: この MBean からリスナーを削除します。MBean は、指定された listener
、filter
、および handback
パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの 1 つだけが削除されます。
削除されるリスナー内で null が指定されている場合、filter
および handback
パラメータは null になります。
NotificationEmitter
内の removeNotificationListener
listener
- 以前にこの MBean に追加されたリスナーfilter
- リスナーの追加時に指定されたフィルタhandback
- リスナーの追加時に指定されたハンドバック
ListenerNotFoundException
- リスナーが MBean に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合public MBeanNotificationInfo[] getNotificationInfo()
NotificationBroadcaster
の記述: この MBean が通知を送信するたびに、その通知の Java クラス名と通知型を示す配列を返します。
MBean が、この配列に記述されていない通知を送信することはできません。ただし、一部の MBean サーバクライアントは、現在の機能によって完成する配列に依存している場合があります。
NotificationBroadcaster
内の getNotificationInfo
public void sendNotification(Notification notification)
notification
- 送信する通知protected void handleNotification(NotificationListener listener, Notification notif, Object handback)
このメソッドは、リスナーに通知を送信するため、sendNotification
によって呼び出されます。通知の配信方法を変更したい場合、たとえば通知を別々のスレッドで配信したい場合などは、サブクラス内でオーバーライドできます。
このメソッドは、sendNotification
を呼び出したスレッドによって呼び出されるとは限りません。
このメソッドのデフォルト実装は、以下と同等です。
listener.handleNotification(notif, handback);
listener
- 通知の配信先リスナーnotif
- リスナーに配信される通知handback
- リスナーの追加時に指定されたハンドバックオブジェクト
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。