JavaTM 2 Platform
Standard Ed. 5.0

javax.management.modelmbean
インタフェース ModelMBeanNotificationBroadcaster

すべてのスーパーインタフェース:
NotificationBroadcaster
既知のサブインタフェースの一覧:
ModelMBean
既知の実装クラスの一覧:
RequiredModelMBean

public interface ModelMBeanNotificationBroadcaster
extends NotificationBroadcaster

ModelMBean は、このインタフェースを実装する必要があります。このインタフェースの実装は、すべての JMX エージェントに付属しています。

管理対象になる Java リソースは、MBeanServer の createMBean メソッドを使って、ModelMBean をインスタンス化します。次に、ModelMBean インスタンスの ModelMBeanInfo (Descriptor 付き) を設定します。ModelMBean の ModelMBeanInfo で公開された属性とオペレーションには、MBean、コネクタ、アダプタからアクセスできます。ModelMBeanInfo Descriptor を使って、管理対象アプリケーション内の値とメソッドを定義し、ModelMBean の属性およびオペレーションにマップすることができます。このマッピングは、XML 形式のファイルを使った開発時、または実行時にプログラムを使って動的に定義できます。

MBeanServer でインスタンス化された MBean はすべて管理対象となります。これらの MBean の属性とオペレーションには、MBeanServer に接続されたコネクタまたはアダプタ経由でリモートアクセスできます。JMX 準拠の MBean でない Java オブジェクトは、MBeanServer に登録できません。リソースは、ModelMBean をインスタンス化することにより、MBean の有効性を保証します。

すべての public メソッドで、MBeanException および RuntimeOperationsException がスローされる必要があります。こうすることにより、分散型通信 (RMI、EJB など) による例外をラップできます。仕様および javadoc に記載されているシナリオ以外では、実装が必ずしもこれらの例外をスローするとは限りません。

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

メソッドの概要
 void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback)
          NotificationListener インタフェースを実装するオブジェクトをリスナーとして登録します。
 void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName)
          RequiredModelMBean から attributeChangeNotification のリスナーを削除します。
 void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue)
          ModelMBean 上の登録済み AttributeChangeNotification リスナーに、属性の古い値と新しい値を含む attributeChangeNotification を送信します。
 void sendAttributeChangeNotification(AttributeChangeNotification notification)
          ModelMBean 上の登録済み attributeChangeNotification に、渡される attributeChangeNotification を送信します。
 void sendNotification(Notification ntfyObj)
          ModelMBean 上の登録済み Notification リスナーに、jmx.modelmbean.generic 通知として渡される Notification を送信します。
 void sendNotification(String ntfyText)
          ModelMBean 上の登録済み Notification リスナーに、渡されるテキスト文字列を含む Notification を送信します。
 
インタフェース javax.management.NotificationBroadcaster から継承されたメソッド
addNotificationListener, getNotificationInfo, removeNotificationListener
 

メソッドの詳細

sendNotification

void sendNotification(Notification ntfyObj)
                      throws MBeanException,
                             RuntimeOperationsException
ModelMBean 上の登録済み Notification リスナーに、jmx.modelmbean.generic 通知として渡される Notification を送信します。

パラメータ:
ntfyObj - リスナーオブジェクトの handleNotification メソッドに渡される通知
例外:
MBeanException - 配備済み通信 Exception をラップする
RuntimeOperationsException - IllegalArgumentException をラップする。パラメータとして渡された Notification オブジェクトが null の場合

sendNotification

void sendNotification(String ntfyText)
                      throws MBeanException,
                             RuntimeOperationsException
ModelMBean 上の登録済み Notification リスナーに、渡されるテキスト文字列を含む Notification を送信します。

パラメータ:
ntfyText - Notification に指定され、リスナーオブジェクトの handleNotification メソッドに渡されるテキスト。構築済みの Notification は type "jmx.modelmbean.generic" source this ModelMBean instance sequence 1
例外:
MBeanException - 配備済み通信 Exception をラップする
RuntimeOperationsException - IllegalArgumentException をラップする。パラメータとして渡された Notification テキスト文字列が null の場合

sendAttributeChangeNotification

void sendAttributeChangeNotification(AttributeChangeNotification notification)
                                     throws MBeanException,
                                            RuntimeOperationsException
ModelMBean 上の登録済み attributeChangeNotification に、渡される attributeChangeNotification を送信します。

パラメータ:
notification - リスナーオブジェクトの handleNotification メソッドに渡される通知
例外:
MBeanException - 配備済み通信 Exception をラップする
RuntimeOperationsException - IllegalArgumentException をラップする。パラメータとして渡された AttributeChangeNotification オブジェクトが null の場合

sendAttributeChangeNotification

void sendAttributeChangeNotification(Attribute oldValue,
                                     Attribute newValue)
                                     throws MBeanException,
                                            RuntimeOperationsException
ModelMBean 上の登録済み AttributeChangeNotification リスナーに、属性の古い値と新しい値を含む attributeChangeNotification を送信します。

パラメータ:
oldValue - Attribute の初期値
newValue - Attribute の現在の値

   構築済みの attributeChangeNotification。type        "jmx.attribute.change" source      this ModelMBean instance sequence    1 attributeName oldValue.getName() attributeType oldValue's class attributeOldValue oldValue.getValue() attributeNewValue newValue.getValue() 
例外:
MBeanException - 配備済み通信 Exception をラップする
RuntimeOperationsException - IllegalArgumentException をラップする。パラメータとして渡される Attribute オブジェクトが null である場合、またはパラメータに同じ名前の Attribute オブジェクトが複数指定された場合

addAttributeChangeNotificationListener

void addAttributeChangeNotificationListener(NotificationListener listener,
                                            String attributeName,
                                            Object handback)
                                            throws MBeanException,
                                                   RuntimeOperationsException,
                                                   IllegalArgumentException
NotificationListener インタフェースを実装するオブジェクトをリスナーとして登録します。ModelMBean によって任意の attributeChangeNotification が発行されると、このオブジェクトの handleNotification() メソッドが呼び出されます。その他の Notification は含みません。その他の Notification は個別に登録する必要があります。この attributeName 用の AttributeChangeNotification が生成されます。

パラメータ:
listener - 登録済み MBean が発行した通知を処理するリスナーオブジェクト
attributeName - ModelMBean 属性の名前。この属性の変更通知を受信する。null の場合、どの属性が変更されたときも attributeChangeNotification が発行される
handback - 通知が発行されたとき通知とともにリスナーに送信されるコンテキスト
例外:
IllegalArgumentException - リスナーは null にできない
MBeanException - 配備済み通信 Exception をラップする
RuntimeOperationsException - IllegalArgumentException をラップする。パラメータとして渡される属性名が存在しない場合
関連項目:
removeAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String)

removeAttributeChangeNotificationListener

void removeAttributeChangeNotificationListener(NotificationListener listener,
                                               String attributeName)
                                               throws MBeanException,
                                                      RuntimeOperationsException,
                                                      ListenerNotFoundException
RequiredModelMBean から attributeChangeNotification のリスナーを削除します。

パラメータ:
listener - 登録済み MBean が発行した通知を処理していたリスナーの名前。このメソッドはこのリスナーに関するすべての情報を削除する
attributeName - 属性。リスナーは、この属性の attributeChangeNotification を受信する必要がなくなった。null の場合、すべての attributeChangeNotification のリスナーが削除される
例外:
ListenerNotFoundException - リスナーが MBean に登録されていないか、null の場合
MBeanException - 配備済み通信 Exception をラップする
RuntimeOperationsException - IllegalArgumentException をラップする。inAttributeName パラメータが属性名に一致しない場合
関連項目:
addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)

JavaTM 2 Platform
Standard Ed. 5.0

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

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