JavaTM Platform
Standard Ed. 6

javax.management
インタフェース MBeanServer

すべてのスーパーインタフェース:
MBeanServerConnection
既知のサブインタフェースの一覧:
MBeanServerForwarder

public interface MBeanServer
extends MBeanServerConnection

エージェント側で MBean を操作するためのインタフェースです。登録済みの MBean にアクセスするためのメソッドのほか、MBean を作成、登録、削除するために必要なメソッドが含まれます。これが、JMX インフラストラクチャーの主要コンポーネントになります。

通常、ユーザーコードはこのインタフェースを実装しません。ただし、MBeanServerFactory クラスのメソッドを利用して、このインタフェースを実装するオブジェクトを取得できます。

MBean サーバーに追加された MBean はすべて管理対象となります。これらの MBean の属性とオペレーションには、MBean サーバーに接続されたコネクタまたはアダプタ経由でリモートアクセスできます。JMX 準拠の MBean でない Java オブジェクトは、MBean サーバーに登録できません。

MBean サーバーに MBean を登録したり、登録を解除したりすると、MBeanServerNotification 通知が発行されます。オブジェクトを MBeanServerNotifications のリスナーとして登録するには、MBeanServerDelegateObjectName を指定して、MBean サーバーメソッド addNotificationListener を呼び出します。この ObjectName は、JMImplementation:type=MBeanServerDelegate になります。

MBeanServerFactory クラスの createMBeanServer または newMBeanServer メソッドから取得されたオブジェクトは、そのメソッドに対してセキュリティーチェックを適用します。

セキュリティーマネージャーが存在しない場合、すなわち System.getSecurityManager() が null の場合、このインタフェースの実装はチェックを行わないこともあります。

セキュリティーマネージャーが存在する場合、または実装でチェックを行うことが選択されている場合、次のようなチェックが行われます。className は、MBeanInfo.getClassName() によってターゲット MBean に返される文字列です。

セキュリティーチェックに失敗した場合、SecurityException がスローされます。

InstanceNotFoundException をスローするメソッドは、アクセス権の内容に関係なく、MBean が存在しない場合にこの例外をスローします。これは、MBean が存在しなければ、className も存在しないからです。

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

メソッドの概要
 void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
          登録済み MBean にリスナーを追加します。
 void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          登録済み MBean にリスナーを追加します。
 ObjectInstance createMBean(String className, ObjectName name)
          MBean をインスタンス化し、MBean サーバーに登録します。
 ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature)
          MBean をインスタンス化し、MBean サーバーに登録します。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName)
          MBean をインスタンス化し、MBean サーバーに登録します。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)
          MBean をインスタンス化し、MBean サーバーに登録します。
 ObjectInputStream deserialize(ObjectName name, byte[] data)
          推奨されていません。 getClassLoaderFor を使って、直列化復元に使用する適切なクラスローダーを取得します。
 ObjectInputStream deserialize(String className, byte[] data)
          推奨されていません。 getClassLoaderRepository() を使ってクラスローダーリポジトリを取得し、これを使って直列化復元を行います。
 ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data)
          推奨されていません。 getClassLoader を使って、直列化復元に使用するクラスローダーを取得します。
 Object getAttribute(ObjectName name, String attribute)
          指定された MBean の特定の属性の値を取得します。
 AttributeList getAttributes(ObjectName name, String[] attributes)
          指定された MBean の複数の属性の値を有効化します。
 ClassLoader getClassLoader(ObjectName loaderName)
          指定された ClassLoader を返します。
 ClassLoader getClassLoaderFor(ObjectName mbeanName)
          指定された MBean のクラスのロードに使用された ClassLoader を返します。
 ClassLoaderRepository getClassLoaderRepository()
          この MBeanServer の ClassLoaderRepository を返します。
 String getDefaultDomain()
          MBean の指定に使用するデフォルトのドメインを返します。
 String[] getDomains()
          MBean が現在登録されているドメインのリストを返します。
 Integer getMBeanCount()
          MBean サーバーに登録されている MBean の数を返します。
 MBeanInfo getMBeanInfo(ObjectName name)
          このメソッドは、MBean が管理用として公開している属性とオペレーションを検出します。
 ObjectInstance getObjectInstance(ObjectName name)
          MBean に登録された MBean の ObjectInstance を取得します。
 Object instantiate(String className)
          MBean サーバーのクラスローダーリポジトリ内に登録されたすべてのクラスローダーのリストを使って、オブジェクトをインスタンス化します。
 Object instantiate(String className, Object[] params, String[] signature)
          MBean サーバーのクラスローダーリポジトリ内に登録されたすべてのクラスローダーのリストを使って、オブジェクトをインスタンス化します。
 Object instantiate(String className, ObjectName loaderName)
          ObjectName で指定されたクラスローダーを使って、オブジェクトをインスタンス化します。
 Object instantiate(String className, ObjectName loaderName, Object[] params, String[] signature)
          オブジェクトをインスタンス化します。
 Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
          MBean上でオペレーションを呼び出します。
 boolean isInstanceOf(ObjectName name, String className)
          指定された MBean が指定されたクラスのインスタンスである場合は true、そうでない場合は false を返します。
 boolean isRegistered(ObjectName name)
          このオブジェクト名で識別される MBean が、すでに MBean サーバーに登録されているかどうかをチェックします。
 Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)
          MBean サーバーによって制御される MBean を取得します。
 Set<ObjectName> queryNames(ObjectName name, QueryExp query)
          MBean サーバーによって制御される MBean の名前を取得します。
 ObjectInstance registerMBean(Object object, ObjectName name)
          既存のオブジェクトを MBean として MBean サーバーに登録します。
 void removeNotificationListener(ObjectName name, NotificationListener listener)
          登録済み MBean からリスナーを削除します。
 void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
          登録済み MBean からリスナーを削除します。
 void removeNotificationListener(ObjectName name, ObjectName listener)
          登録済み MBean からリスナーを削除します。
 void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          登録済み MBean からリスナーを削除します。
 void setAttribute(ObjectName name, Attribute attribute)
          指定された MBean の特定の属性の値を設定します。
 AttributeList setAttributes(ObjectName name, AttributeList attributes)
          指定された MBean の複数の属性の値を設定します。
 void unregisterMBean(ObjectName name)
          MBean サーバーから MBean の登録を解除します。
 

メソッドの詳細

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException
インタフェース MBeanServerConnection の記述:

MBean をインスタンス化し、MBean サーバーに登録します。MBean サーバーは、デフォルトのローダーリポジトリを使って、この MBean のクラスをロードします。MBean にはオブジェクト名が関連付けられます。 このオブジェクト名が null の場合、MBean は、MBeanRegistration インタフェースを実装し、preRegister メソッドから返される独自の名前を使用する必要があります。

このメソッドは、createMBean(className, name, (Object[]) null, (String[]) null) と同等です。

定義:
インタフェース MBeanServerConnection 内の createMBean
パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null の場合あり
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
InstanceAlreadyExistsException - MBean がすでに MBean サーバーによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした場合。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException
インタフェース MBeanServerConnection の記述:

MBean をインスタンス化し、MBean サーバーに登録します。使用するクラスローダーは、オブジェクト名で識別されます。MBean にはオブジェクト名が関連付けられます。ローダーのオブジェクト名が null の場合、MBean サーバーのロードに使用した ClassLoader が使用されます。MBean のオブジェクト名が null の場合、MBean は、MBeanRegistration インタフェースを実装し、preRegister メソッドから返される独自の名前を使用する必要があります。

このメソッドは、createMBean(className, name, loaderName, (Object[]) null, (String[]) null) と同等です。

定義:
インタフェース MBeanServerConnection 内の createMBean
パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null の場合あり
loaderName - 使用するクラスローダーのオブジェクト名
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
InstanceAlreadyExistsException - MBean がすでに MBean サーバーによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした場合。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない場合
InstanceNotFoundException - 指定されたクラスローダーが MBean サーバーに登録されていない場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           Object[] params,
                           String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException
インタフェース MBeanServerConnection の記述:
MBean をインスタンス化し、MBean サーバーに登録します。MBean サーバーは、デフォルトのローダーリポジトリを使って、この MBean のクラスをロードします。MBean にはオブジェクト名が関連付けられます。このオブジェクト名が null の場合、MBean は、MBeanRegistration インタフェースを実装し、preRegister メソッドから返される独自の名前を使用する必要があります。

定義:
インタフェース MBeanServerConnection 内の createMBean
パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null の場合あり
params - 呼び出されるコンストラクタのパラメータを含む配列
signature - コンストラクタのシグニチャーを含む配列。この配列が呼び出される
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
InstanceAlreadyExistsException - MBean がすでに MBean サーバーによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした場合。Bean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName,
                           Object[] params,
                           String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException
インタフェース MBeanServerConnection の記述:
MBean をインスタンス化し、MBean サーバーに登録します。使用するクラスローダーは、オブジェクト名で識別されます。MBean にはオブジェクト名が関連付けられます。ローダーのオブジェクト名が指定されていない場合、MBean サーバーのロードに使用した ClassLoader が使用されます。MBean のオブジェクト名が null の場合、MBean は、MBeanRegistration インタフェースを実装し、preRegister メソッドから返される独自の名前を使用する必要があります。

定義:
インタフェース MBeanServerConnection 内の createMBean
パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null の場合あり
loaderName - 使用するクラスローダーのオブジェクト名
params - 呼び出されるコンストラクタのパラメータを含む配列
signature - コンストラクタのシグニチャーを含む配列。この配列が呼び出される
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
InstanceAlreadyExistsException - MBean がすでに MBean サーバーによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした場合。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない場合
InstanceNotFoundException - 指定されたクラスローダーが MBean サーバーに登録されていない場合

registerMBean

ObjectInstance registerMBean(Object object,
                             ObjectName name)
                             throws InstanceAlreadyExistsException,
                                    MBeanRegistrationException,
                                    NotCompliantMBeanException
既存のオブジェクトを MBean として MBean サーバーに登録します。このオブジェクト名が null の場合、MBean は、MBeanRegistration インタフェースを実装し、preRegister メソッドから返される独自の名前を使用する必要があります。

パラメータ:
object - MBean として登録される MBean
name - MBean のオブジェクト名。null の場合あり
戻り値:
新しく登録された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
InstanceAlreadyExistsException - MBean がすでに MBean サーバーによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした場合。MBean は登録されない
NotCompliantMBeanException - このオブジェクトが JMX 準拠の MBean でない場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする場合。すなわち、パラメータに渡されるオブジェクトが null であるか、オブジェクト名が指定されていない場合

unregisterMBean

void unregisterMBean(ObjectName name)
                     throws InstanceNotFoundException,
                            MBeanRegistrationException
インタフェース MBeanServerConnection の記述:
MBean サーバーから MBean の登録を解除します。MBean はオブジェクト名で識別されます。メソッドを呼び出したあと、オブジェクト名を指定してこの MBean にアクセスすることはできません。

定義:
インタフェース MBeanServerConnection 内の unregisterMBean
パラメータ:
name - 登録解除する MBean のオブジェクト名
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
MBeanRegistrationException - MBean の preDeregister (MBeanRegistration interface) メソッドが例外をスローした場合

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name)
                                 throws InstanceNotFoundException
インタフェース MBeanServerConnection の記述:
MBean に登録された MBean の ObjectInstance を取得します。

定義:
インタフェース MBeanServerConnection 内の getObjectInstance
パラメータ:
name - MBean のオブジェクト名
戻り値:
name で指定された MBean に関連付けられた ObjectInstanceObjectNamename で、含まれるクラス名は getMBeanInfo(name).getClassName()
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合

queryMBeans

Set<ObjectInstance> queryMBeans(ObjectName name,
                                QueryExp query)
インタフェース MBeanServerConnection の記述:
MBean サーバーによって制御される MBean を取得します。このメソッドは、すべての MBean、ObjectName や Query 式のパターンマッチングによって指定された MBean のセット、特定の MBean のいずれかを返します。オブジェクト名が null である場合、またはドメインやキーのプロパティーが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。このメソッドは、選択された MBean に対して、ObjectInstance オブジェクトのセット (ObjectName と Java Class 名を含む) を返します。

定義:
インタフェース MBeanServerConnection 内の queryMBeans
パラメータ:
name - 取得する MBean を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティーが指定されていない場合は、登録されているすべての MBean が取得される
query - MBean の選択に適用されるクエリー式。null の場合、MBean の選択にクエリー式は適用されない
戻り値:
選択された MBean の ObjectInstance オブジェクトを含むセット。クエリーの条件を満たす MBean が存在しない場合、空のリストが返される

queryNames

Set<ObjectName> queryNames(ObjectName name,
                           QueryExp query)
インタフェース MBeanServerConnection の記述:
MBean サーバーによって制御される MBean の名前を取得します。このメソッドはすべての MBean の名前、ObjectName や Query 式のパターンマッチングによって指定された MBean のセットの名前、特定の MBean の名前のいずれかを返します。これにより、MBean が登録されているかどうかを判別できます。オブジェクト名が null である場合、またはドメインやキーのプロパティーが指定されていない場合、すべてのオブジェクトが選択されます。 クエリーが指定されている場合は、さらにフィルタリングが適用されます。このメソッドは、選択された MBean に対して、ObjectName のセットを返します。

定義:
インタフェース MBeanServerConnection 内の queryNames
パラメータ:
name - 取得する MBean 名を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティーが指定されていない場合は、登録されているすべての MBean の名前が取得される
query - MBean の選択に適用されるクエリー式。null の場合、MBean の選択にクエリー式は適用されない
戻り値:
選択された MBean の ObjectName を含むセット。クエリーの条件を満たす MBean が存在しない場合、空のリストが返される

isRegistered

boolean isRegistered(ObjectName name)
インタフェース MBeanServerConnection の記述:
このオブジェクト名で識別される MBean が、すでに MBean サーバーに登録されているかどうかをチェックします。

定義:
インタフェース MBeanServerConnection 内の isRegistered
パラメータ:
name - チェック対象の MBean のオブジェクト名
戻り値:
MBean がすでに MBean サーバーに登録されている場合は true、そうでない場合は false

getMBeanCount

Integer getMBeanCount()
MBean サーバーに登録されている MBean の数を返します。

定義:
インタフェース MBeanServerConnection 内の getMBeanCount
戻り値:
登録済み MBean の数。Integer にラップされる。 呼び出し元のアクセス権が制限されている場合、この数は 呼び出し元からアクセスできる MBean の数より大きくなる可能性がある

getAttribute

Object getAttribute(ObjectName name,
                    String attribute)
                    throws MBeanException,
                           AttributeNotFoundException,
                           InstanceNotFoundException,
                           ReflectionException
インタフェース MBeanServerConnection の記述:
指定された MBean の特定の属性の値を取得します。MBean はオブジェクト名で識別されます。

定義:
インタフェース MBeanServerConnection 内の getAttribute
パラメータ:
name - MBean のオブジェクト名。 この MBean の属性が取得される
attribute - 取得される属性の名前を指定する String
戻り値:
取得される属性の値
例外:
MBeanException - MBean の取得メソッドによってスローされる例外をラップする場合
AttributeNotFoundException - MBean の指定された属性がアクセス不能である場合
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
ReflectionException - 設定メソッドの呼び出し時にスローされる java.lang.Exception をラップする場合
関連項目:
MBeanServerConnection.setAttribute(javax.management.ObjectName, javax.management.Attribute)

getAttributes

AttributeList getAttributes(ObjectName name,
                            String[] attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException
インタフェース MBeanServerConnection の記述:
指定された MBean の複数の属性の値を有効化します。MBean はオブジェクト名で識別されます。

定義:
インタフェース MBeanServerConnection 内の getAttributes
パラメータ:
name - MBean のオブジェクト名。 この MBean の属性が取得される
attributes - 取得される属性のリスト
戻り値:
取得される属性のリスト
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
ReflectionException - Dynamic MBean の getAttributes メソッドの呼び出し時に例外が発生した場合
関連項目:
MBeanServerConnection.setAttributes(javax.management.ObjectName, javax.management.AttributeList)

setAttribute

void setAttribute(ObjectName name,
                  Attribute attribute)
                  throws InstanceNotFoundException,
                         AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException
インタフェース MBeanServerConnection の記述:
指定された MBean の特定の属性の値を設定します。MBean はオブジェクト名で識別されます。

定義:
インタフェース MBeanServerConnection 内の setAttribute
パラメータ:
name - MBean 名。 この MBean の属性が設定される
attribute - 設定される属性の ID と設定される値
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
AttributeNotFoundException - MBean の指定された属性がアクセス不能である場合
InvalidAttributeValueException - 指定された値が、属性に対する有効な値でない場合
MBeanException - MBean の設定メソッドによってスローされる例外をラップする場合
ReflectionException - 設定メソッドの呼び出し時にスローされる java.lang.Exception をラップする場合
関連項目:
MBeanServerConnection.getAttribute(javax.management.ObjectName, java.lang.String)

setAttributes

AttributeList setAttributes(ObjectName name,
                            AttributeList attributes)
                            throws InstanceNotFoundException,
                                   ReflectionException
インタフェース MBeanServerConnection の記述:
指定された MBean の複数の属性の値を設定します。MBean はオブジェクト名で識別されます。

定義:
インタフェース MBeanServerConnection 内の setAttributes
パラメータ:
name - MBean のオブジェクト名。 この MBean の属性が設定される
attributes - 属性のリスト。属性のリスト (設定される属性の ID と設定される値)
戻り値:
設定された属性と新しい値のリスト
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
ReflectionException - Dynamic MBean の getAttributes メソッドの呼び出し時に例外が発生した場合
関連項目:
MBeanServerConnection.getAttributes(javax.management.ObjectName, java.lang.String[])

invoke

Object invoke(ObjectName name,
              String operationName,
              Object[] params,
              String[] signature)
              throws InstanceNotFoundException,
                     MBeanException,
                     ReflectionException
インタフェース MBeanServerConnection の記述:
MBean上でオペレーションを呼び出します。

定義:
インタフェース MBeanServerConnection 内の invoke
パラメータ:
name - メソッドの呼び出しが行われる MBean のオブジェクト名
operationName - 呼び出されるオペレーションの名前
params - オペレーションの呼び出し時に設定されるパラメータを含む配列
signature - オペレーションのシグニチャーを含む配列。クラスオブジェクトのロードには、オペレーションを呼び出した MBean をロードするときと同じクラスローダーが使用される
戻り値:
オペレーションによって返されるオブジェクト。 指定された MBean 上でオペレーションを呼び出した結果を表す
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
MBeanException - MBean の呼び出しメソッドによってスローされる例外をラップする場合
ReflectionException - メソッドの呼び出し時にスローされる java.lang.Exception をラップする場合

getDefaultDomain

String getDefaultDomain()
インタフェース MBeanServerConnection の記述:
MBean の指定に使用するデフォルトのドメインを返します。ユーザーがドメイン名を指定しなかった場合、MBean の ObjectName のドメイン部分には、デフォルトのドメイン名が入ります。

定義:
インタフェース MBeanServerConnection 内の getDefaultDomain
戻り値:
デフォルトのドメイン

getDomains

String[] getDomains()
インタフェース MBeanServerConnection の記述:

MBean が現在登録されているドメインのリストを返します。返される配列内に文字列が含まれる場合は、その文字列と等しい getDomain() を持つ ObjectName で 1 個以上の MBean が登録されています。返される配列内の文字列の順序は未定義です。

定義:
インタフェース MBeanServerConnection 内の getDomains
戻り値:
ドメインのリスト

addNotificationListener

void addNotificationListener(ObjectName name,
                             NotificationListener listener,
                             NotificationFilter filter,
                             Object handback)
                             throws InstanceNotFoundException
インタフェース MBeanServerConnection の記述:

登録済み MBean にリスナーを追加します。

MBean が発行した通知は、MBeanServer によってリスナーに転送されます。通知のソースが MBean オブジェクトの参照になっている場合、MBean サーバーは、これを MBean の ObjectName で置き換えます。それ以外の場合、ソースが変更されることはありません。

定義:
インタフェース MBeanServerConnection 内の addNotificationListener
パラメータ:
name - リスナーが追加される MBean の名前
listener - 登録済み MBean が発行した通知を処理するリスナーオブジェクト
filter - フィルタオブジェクト。フィルタが null の場合、通知処理の前にフィルタは適用されない
handback - 通知が発行されたときリスナーに送信されるコンテキスト
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
関連項目:
MBeanServerConnection.removeNotificationListener(ObjectName, NotificationListener), MBeanServerConnection.removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

addNotificationListener

void addNotificationListener(ObjectName name,
                             ObjectName listener,
                             NotificationFilter filter,
                             Object handback)
                             throws InstanceNotFoundException
インタフェース MBeanServerConnection の記述:

登録済み MBean にリスナーを追加します。

MBean が発行した通知は、MBeanServer によってリスナーに転送されます。通知のソースが MBean オブジェクトの参照になっている場合、MBean サーバーは、これを MBean の ObjectName で置き換えます。それ以外の場合、ソースが変更されることはありません。

通知を受け取るリスナーオブジェクトは、このメソッドの呼び出し時に指定された名前で登録されたリスナーオブジェクトです。その後は登録しなくても引き続き通知を受け取ります。

定義:
インタフェース MBeanServerConnection 内の addNotificationListener
パラメータ:
name - リスナーが追加される MBean の名前
listener - 登録済み MBean が発行した通知を処理するリスナーのオブジェクト名
filter - フィルタオブジェクト。フィルタが null の場合、通知処理の前にフィルタは適用されない
handback - 通知が発行されたときリスナーに送信されるコンテキスト
例外:
InstanceNotFoundException - 登録済み MBean の中に、通知リスナーまたは通知ブロードキャスタの MBean 名がない場合
関連項目:
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName), MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
インタフェース MBeanServerConnection の記述:
登録済み MBean からリスナーを削除します。

リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。

定義:
インタフェース MBeanServerConnection 内の removeNotificationListener
パラメータ:
name - リスナーが削除される MBean の名前
listener - 削除されるリスナーのオブジェクト名
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException - リスナーが MBean に登録されていない場合
関連項目:
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener,
                                NotificationFilter filter,
                                Object handback)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
インタフェース MBeanServerConnection の記述:

登録済み MBean からリスナーを削除します。

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

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

定義:
インタフェース MBeanServerConnection 内の removeNotificationListener
パラメータ:
name - リスナーが削除される MBean の名前
listener - 削除されるリスナーのオブジェクト名
filter - リスナーの追加時に指定されたフィルタ
handback - リスナーの追加時に指定されたハンドバック
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException - リスナーが MBean に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合
関連項目:
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                NotificationListener listener)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
インタフェース MBeanServerConnection の記述:

登録済み MBean からリスナーを削除します。

リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。

定義:
インタフェース MBeanServerConnection 内の removeNotificationListener
パラメータ:
name - リスナーが削除される MBean の名前
listener - 削除されるリスナー
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException - リスナーが MBean に登録されていない場合
関連項目:
MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                NotificationListener listener,
                                NotificationFilter filter,
                                Object handback)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException
インタフェース MBeanServerConnection の記述:

登録済み MBean からリスナーを削除します。

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

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

定義:
インタフェース MBeanServerConnection 内の removeNotificationListener
パラメータ:
name - リスナーが削除される MBean の名前
listener - 削除されるリスナー
filter - リスナーの追加時に指定されたフィルタ
handback - リスナーの追加時に指定されたハンドバック
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException - リスナーが MBean に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合
関連項目:
MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)

getMBeanInfo

MBeanInfo getMBeanInfo(ObjectName name)
                       throws InstanceNotFoundException,
                              IntrospectionException,
                              ReflectionException
インタフェース MBeanServerConnection の記述:
このメソッドは、MBean が管理用として公開している属性とオペレーションを検出します。

定義:
インタフェース MBeanServerConnection 内の getMBeanInfo
パラメータ:
name - 分析対象の MBean の名前
戻り値:
MBeanInfo のインスタンス。 この MBean のすべての属性とオペレーションの取得を許可する
例外:
InstanceNotFoundException - 指定された MBean が見つからなかった場合
IntrospectionException - イントロスペクション中に例外が発生した場合
ReflectionException - Dynamic MBean の getMBeanInfo メソッドの呼び出し時に例外が発生した場合

isInstanceOf

boolean isInstanceOf(ObjectName name,
                     String className)
                     throws InstanceNotFoundException
インタフェース MBeanServerConnection の記述:

指定された MBean が指定されたクラスのインスタンスである場合は true、そうでない場合は false を返します。

name が MBean を指定していない場合、このメソッドは InstanceNotFoundException をスローします。

それ以外の場合、
X は name で指定された MBean、
L は X の ClassLoader、
N は X の MBeanInfo 内のクラス名になります。

N が className と等しい場合、結果は true です。

それ以外の場合、L が className を正常にロードし、X がこのクラスのインスタンスである場合、結果は true です。

それ以外の場合、L が N と className の両方を正常にロードし、最初のクラスから 2 番目のクラスを割り当てることができる場合、結果は true です。

それ以外の場合、結果は false です。

定義:
インタフェース MBeanServerConnection 内の isInstanceOf
パラメータ:
name - MBean の ObjectName
className - クラスの名前
戻り値:
上記の規則に従って、指定された MBean が指定されたクラスのインスタンスである場合は true、そうでない場合は false
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバーに登録されていない場合
関連項目:
Class.isInstance(java.lang.Object)

instantiate

Object instantiate(String className)
                   throws ReflectionException,
                          MBeanException

MBean サーバーのクラスローダーリポジトリ内に登録されたすべてのクラスローダーのリストを使って、オブジェクトをインスタンス化します。オブジェクトのクラスは、public コンストラクタを持っていなければなりません。このメソッドは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBean サーバーに登録されていません。

このメソッドは、instantiate(className, (Object[]) null, (String[]) null) と同等です。

パラメータ:
className - インスタンス化するオブジェクトのクラス名
戻り値:
新しくインスタンス化されたオブジェクト
例外:
ReflectionException - オブジェクトのコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
MBeanException - オブジェクトのコンストラクタが例外をスローした場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする場合。すなわち、パラメータに渡される className が null の場合

instantiate

Object instantiate(String className,
                   ObjectName loaderName)
                   throws ReflectionException,
                          MBeanException,
                          InstanceNotFoundException

ObjectName で指定されたクラスローダーを使って、オブジェクトをインスタンス化します。 ローダー名が null の場合、MBean サーバーのロードに使用された ClassLoader が使用されます。オブジェクトのクラスは、public コンストラクタを持っていなければなりません。 このメソッドは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBean サーバーに登録されていません。

このメソッドは、instantiate(className, loaderName, (Object[]) null, (String[]) null) と同等です。

パラメータ:
className - インスタンス化する MBean のクラス名
loaderName - 使用するクラスローダーのオブジェクト名
戻り値:
新しくインスタンス化されたオブジェクト
例外:
ReflectionException - オブジェクトのコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
MBeanException - オブジェクトのコンストラクタが例外をスローした場合
InstanceNotFoundException - 指定されたクラスローダーが MBeanServer に登録されていない場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする場合。すなわち、パラメータに渡される className が null の場合

instantiate

Object instantiate(String className,
                   Object[] params,
                   String[] signature)
                   throws ReflectionException,
                          MBeanException

MBean サーバーのクラスローダーリポジトリ内に登録されたすべてのクラスローダーのリストを使って、オブジェクトをインスタンス化します。オブジェクトのクラスは、public コンストラクタを持っていなければなりません。この呼び出しは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBean サーバーに登録されていません。

パラメータ:
className - インスタンス化するオブジェクトのクラス名
params - 呼び出されるコンストラクタのパラメータを含む配列
signature - コンストラクタのシグニチャーを含む配列。この配列が呼び出される
戻り値:
新しくインスタンス化されたオブジェクト
例外:
ReflectionException - オブジェクトのコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
MBeanException - オブジェクトのコンストラクタが例外をスローした場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする場合。すなわち、パラメータに渡される className が null の場合

instantiate

Object instantiate(String className,
                   ObjectName loaderName,
                   Object[] params,
                   String[] signature)
                   throws ReflectionException,
                          MBeanException,
                          InstanceNotFoundException

オブジェクトをインスタンス化します。使用するクラスローダーは、オブジェクト名で識別されます。ローダーのオブジェクト名が null の場合、MBean サーバーのロードに使用した ClassLoader が使用されます。オブジェクトのクラスは、public コンストラクタを持っていなければなりません。この呼び出しは、新しく生成されたオブジェクトの参照を返します。新しく生成されたオブジェクトは、MBean サーバーに登録されていません。

パラメータ:
className - インスタンス化するオブジェクトのクラス名
params - 呼び出されるコンストラクタのパラメータを含む配列
signature - コンストラクタのシグニチャーを含む配列。この配列が呼び出される
loaderName - 使用するクラスローダーのオブジェクト名
戻り値:
新しくインスタンス化されたオブジェクト
例外:
ReflectionException - オブジェクトのコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする場合
MBeanException - オブジェクトのコンストラクタが例外をスローした場合
InstanceNotFoundException - 指定されたクラスローダーが MBean サーバーに登録されていない場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする場合。すなわち、パラメータに渡される className が null の場合

deserialize

@Deprecated
ObjectInputStream deserialize(ObjectName name,
                                         byte[] data)
                              throws InstanceNotFoundException,
                                     OperationsException
推奨されていません。 getClassLoaderFor を使って、直列化復元に使用する適切なクラスローダーを取得します。

MBean のクラスローダーのコンテキストで、バイト配列を直列化復元します。

パラメータ:
name - MBean の名前。 この MBean のクラスローダーを使って、直列化復元が行われる
data - 直列化復元の対象となるバイト配列
戻り値:
直列化復元されたオブジェクトストリーム
例外:
InstanceNotFoundException - 指定された MBean が見つからない場合
OperationsException - 入出力に関連した例外のいずれかが発生した場合

deserialize

@Deprecated
ObjectInputStream deserialize(String className,
                                         byte[] data)
                              throws OperationsException,
                                     ReflectionException
推奨されていません。 getClassLoaderRepository() を使ってクラスローダーリポジトリを取得し、これを使って直列化復元を行います。

指定された MBean クラスローダーのコンテキストで、バイト配列の直列化復元を行います。クラスローダーを検索するには、クラスローダーリポジトリを使って className クラスをロードします。このクラスのクラスローダーが使用されます。

パラメータ:
className - クラスの名前。このクラスのクラスローダーを使って、直列化復元が行われる
data - 直列化復元の対象となるバイト配列
戻り値:
直列化復元されたオブジェクトストリーム
例外:
OperationsException - 入出力に関連した例外のいずれかが発生した場合
ReflectionException - 指定されたクラスがクラスローダーリポジトリにロードされない場合

deserialize

@Deprecated
ObjectInputStream deserialize(String className,
                                         ObjectName loaderName,
                                         byte[] data)
                              throws InstanceNotFoundException,
                                     OperationsException,
                                     ReflectionException
推奨されていません。 getClassLoader を使って、直列化復元に使用するクラスローダーを取得します。

指定された MBean クラスローダーのコンテキストで、バイト配列の直列化復元を行います。このクラスローダーは、className という名前でクラスをロードしたクラスローダーです。指定されたクラスのロードに使用されたクラスローダーの名前が使用されます。null の場合、MBean サーバーのクラスローダーが使用されます。

パラメータ:
className - クラスの名前。このクラスのクラスローダーを使って、直列化復元が行われる
data - 直列化復元の対象となるバイト配列
loaderName - 指定されたクラスのロードに使用されるクラスローダーの名前。null の場合、MBean サーバーのクラスローダーが使用される
戻り値:
直列化復元されたオブジェクトストリーム
例外:
InstanceNotFoundException - 指定されたクラスローダー MBean が見つからない場合
OperationsException - 入出力に関連した例外のいずれかが発生した場合
ReflectionException - 指定されたクラスが指定されたクラスローダーにロードされない場合

getClassLoaderFor

ClassLoader getClassLoaderFor(ObjectName mbeanName)
                              throws InstanceNotFoundException

指定された MBean のクラスのロードに使用された ClassLoader を返します。

パラメータ:
mbeanName - MBean の ObjectName
戻り値:
この MBean 用の ClassLoader。MBean の実際の ClassLoader が l で、戻り値が r の場合、次のいずれかの条件が成立する つまり、ClassLoader は、セキュリティーまたはその他の理由でほかの ClassLoader にラップされる可能性があるということです。
例外:
InstanceNotFoundException - 指定された MBean が見つからない場合

getClassLoader

ClassLoader getClassLoader(ObjectName loaderName)
                           throws InstanceNotFoundException

指定された ClassLoader を返します。

パラメータ:
loaderName - ClassLoader の ObjectName。null の場合、MBean サーバー固有の ClassLoader が返される
戻り値:
指定の ClassLoader。その名前の実際の ClassLoader が l で、戻り値が r の場合、次のいずれかの条件が成立する つまり、ClassLoader は、セキュリティーまたはその他の理由でほかの ClassLoader にラップされる可能性があるということです。
例外:
InstanceNotFoundException - 指定された ClassLoader が見つからない場合

getClassLoaderRepository

ClassLoaderRepository getClassLoaderRepository()

この MBeanServer の ClassLoaderRepository を返します。

戻り値:
この MBeanServer の ClassLoaderRepository

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 も参照してください。