|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface MBeanServer
エージェント側で MBean を操作するためのインタフェースです。登録済みの MBean にアクセスするためのメソッドのほか、MBean を作成、登録、削除するために必要なメソッドが含まれます。これが、JMX インフラストラクチャの主要コンポーネントになります。
通常、ユーザコードはこのインタフェースを実装しませんが、MBeanServerFactory
クラスのメソッドを利用して、このインタフェースを実装するオブジェクトを取得できます。
MBean サーバに追加された MBean はすべて管理対象となります。これらの MBean の属性とオペレーションには、MBean サーバに接続されたコネクタまたはアダプタ経由でリモートアクセスできます。JMX 準拠の MBean でない Java オブジェクトは、MBean サーバに登録できません。
MBean サーバに MBean を登録したり、登録を解除したりすると、MBeanServerNotification
通知が発行されます。オブジェクトを MBeanServerNotifications のリスナーとして登録するには、MBeanServerDelegate
の ObjectName
を指定して、MBean サーバメソッド addNotificationListener
を呼び出します。この
ObjectName
は、
JMImplementation:type=MBeanServerDelegate
になります。
MBeanServerFactory
クラスの createMBeanServer
または newMBeanServer
メソッドから取得されたオブジェクトは、そのメソッドに対してセキュリティチェックを適用します。
セキュリティマネージャが存在しない場合、すなわち System.getSecurityManager()
が null の場合、チェックは行われません。
セキュリティマネージャが存在する場合は、下記のようなチェックが行われます。className
は、MBeanInfo.getClassName()
によってターゲット MBean に返される文字列です。
セキュリティチェックに失敗した場合、SecurityException
がスローされます。
InstanceNotFoundException
をスローするメソッドは、アクセス権の内容に関係なく、MBean が存在しない場合にこの例外をスローします。これは、MBean が存在しなければ、className
も存在しないからです。
invoke
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, operationName, name, "invoke")
を持っている必要がある
getAttribute
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, attribute, name, "getAttribute")
を持っている必要がある
getAttributes
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "getAttribute")
を持っている必要がある。呼び出し元がアクセス権 MBeanPermission(className, a, name, "getAttribute")
を持っていない場合、MBean サーバは、AttributeList
内の属性 a がリスト内に存在しないと見なす
setAttribute
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, attrName, name, "setAttribute")
を持っている必要がある (attrName
は attribute.getName()
)
setAttributes
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "setAttributes")
を持っている必要がある。呼び出し元がアクセス権 MBeanPermission(className, a, name, "setAttributes")
を持っていない場合、MBean サーバは、AttributeList
内の属性 a がリスト内に存在しないと見なす
addNotificationListener
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "addNotificationListener")
を持っている必要がある
removeNotificationListener
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "removeNotificationListener")
を持っている必要がある
getMBeanInfo
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "getMBeanInfo")
を持っている必要がある
getObjectInstance
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "getObjectInstance")
を持っている必要がある
isInstanceOf
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "isInstanceOf")
を持っている必要がある
queryMBeans
メソッドの呼び出し元は、アクセス権として MBeanPermission(null, null, name, "queryMBeans")
を持っている必要がある。呼び出し元がアクセス権 MBeanPermission(className, null, name, "queryMBeans")
を持っていない場合、name
に一致する MBean サーバは、MBean が存在しないと見なす
特定のクエリー要素は、MBean サーバ上でオペレーションを実行する。呼び出し元が指定された MBean を使用するために必要なアクセス権を持っていない場合、この MBean はクエリーの結果から除外される。影響を受ける標準クエリー要素は、Query.attr(String)
、Query.attr(String,String)
、および Query.classattr()
queryNames
メソッドの場合、queryMBeans
と同様のチェックが行われる。ただし、MBeanPermission
オブジェクトでは、"queryMBeans"
の代わりに "queryNames"
が使用される。アクセス権 "queryMBeans"
には、対応するアクセス権 "queryNames"
は含まれない
getDomains
メソッドの呼び出し元は、アクセス権として MBeanPermission(null, null, name, "getDomains")
を持っている必要がある。呼び出し元がアクセス権 MBeanPermission(null, null, new ObjectName("d:x=x"), "getDomains")
を持っていない場合、返される配列からドメイン d が除外される (x=x
は、ObjectName のコンストラクタ専用の任意の key=value ペア)
getClassLoader
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, loaderName, "getClassLoader")
を持っている必要がある
getClassLoaderFor
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, mbeanName, "getClassLoaderFor")
を持っている必要がある
getClassLoaderRepository
メソッドの呼び出し元は、アクセス権として MBeanPermission(null, null, null, "getClassLoaderRepository")
を持っている必要がある
推奨されない deserialize
メソッドは、これらの代替となるメソッドと同じアクセス権を必要とする
instantiate
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, null, "instantiate")
を持っている必要がある
registerMBean
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "registerMBean")
を持っている必要がある (className
は、MBeanInfo.getClassName()
がこのクラスのオブジェクトに対して返す文字列)
MBeanPermission
チェックに成功した場合、MBean のクラスの妥当性検査が行われる。具体的には、ProtectionDomain
に MBeanTrustPermission("register")
が含まれるかどうかがチェックされる
name
引数が null の場合、MBeanRegistration.preRegister
によって返される ObjectName
により、別の MBeanPermission
チェックが行われる
createMBean
メソッドの呼び出し元は、同等の instantiate
および registerMBean
が必要とするアクセス権を持っている必要がある
unregisterMBean
メソッドの呼び出し元は、アクセス権として MBeanPermission(className, null, name, "unregisterMBean")
を持っている必要がある
メソッドの概要 | |
---|---|
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 |
queryMBeans(ObjectName name,
QueryExp query)
MBean サーバによって制御される MBean を取得します。 |
Set |
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 の登録を解除します。 |
メソッドの詳細 |
---|
ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException
MBean をインスタンス化し、MBean サーバに登録します。MBean サーバは、デフォルトのローダリポジトリ
を使って、この MBean のクラスをロードします。MBean にはオブジェクト名が関連付けられます。このオブジェクト名が null の場合、MBean は、MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
このメソッドは、createMBean(className, name, (Object[]) null, (String[]) null)
と同等です。
MBeanServerConnection
内の createMBean
className
- インスタンス化する MBean のクラス名name
- MBean のオブジェクト名。null も可
ObjectName
と Java クラス名を含む ObjectInstance
。ObjectName
が n
の場合、Java クラス名は getMBeanInfo(n)
.getClassName()
ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合
InstanceAlreadyExistsException
- MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない
MBeanException
- MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
がパターンであるか、MBean に ObjectName
が指定されていない場合ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException
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
- 使用するクラスローダのオブジェクト名
ObjectName
と Java クラス名を含む ObjectInstance
。ObjectName
が n
の場合、Java クラス名は getMBeanInfo(n)
.getClassName()
ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合
InstanceAlreadyExistsException
- MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない
MBeanException
- MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合
InstanceNotFoundException
- 指定されたクラスローダが MBean サーバに登録されていない場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
がパターンであるか、MBean に ObjectName
が指定されていない場合ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException
デフォルトのローダリポジトリ
を使って、この MBean のクラスをロードします。MBean にはオブジェクト名が関連付けられます。このオブジェクト名が null の場合、MBean は、MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
MBeanServerConnection
内の createMBean
className
- インスタンス化する MBean のクラス名name
- MBean のオブジェクト名。null も可params
- 呼び出されるコンストラクタのパラメータを含む配列signature
- 呼び出されるコンストラクタのシグニチャーを含む配列
ObjectName
と Java クラス名を含む ObjectInstance
。ObjectName
が n
の場合、Java クラス名は getMBeanInfo(n)
.getClassName()
ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合
InstanceAlreadyExistsException
- MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない
MBeanException
- MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
がパターンであるか、MBean に ObjectName
が指定されていない場合ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException
MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
MBeanServerConnection
内の createMBean
className
- インスタンス化する MBean のクラス名name
- MBean のオブジェクト名。null も可params
- 呼び出されるコンストラクタのパラメータを含む配列signature
- 呼び出されるコンストラクタのシグニチャーを含む配列loaderName
- 使用するクラスローダのオブジェクト名
ObjectName
と Java クラス名を含む ObjectInstance
。ObjectName
が n
の場合、Java クラス名は getMBeanInfo(n)
.getClassName()
ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合
InstanceAlreadyExistsException
- MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない
MBeanException
- MBean のコンストラクタが例外をスローした場合
NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合
InstanceNotFoundException
- 指定されたクラスローダが MBean サーバに登録されていない場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
がパターンであるか、MBean に ObjectName
が指定されていない場合ObjectInstance registerMBean(Object object, ObjectName name) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException
MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
object
- MBean として登録される MBeanname
- MBean のオブジェクト名。null も可
ObjectName
と Java クラス名を含む ObjectInstance
。ObjectName
が n
の場合、Java クラス名は getMBeanInfo(n)
.getClassName()
InstanceAlreadyExistsException
- MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない
NotCompliantMBeanException
- このオブジェクトが JMX 準拠の MBean でない場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡されるオブジェクトが null であるか、オブジェクト名が指定されていない場合void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException
MBeanServerConnection
内の unregisterMBean
name
- 登録解除する MBean のオブジェクト名
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合
MBeanRegistrationException
- MBean の preDeregister (MBeanRegistration
インタフェース) メソッドが例外をスローした場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、登録解除しようとしている MBean が MBeanServerDelegate
である場合ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException
ObjectInstance
を取得します。
MBeanServerConnection
内の getObjectInstance
name
- MBean のオブジェクト名
ObjectInstance
。ObjectName
は name
で、含まれるクラス名は getMBeanInfo(name)
.getClassName()
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合Set queryMBeans(ObjectName name, QueryExp query)
ObjectName
や Query 式のパターンマッチングによって指定された MBean のセット、特定の MBean のいずれかを返します。オブジェクト名が null である場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。このメソッドは、選択された MBean に対して、ObjectInstance
オブジェクトのセット (ObjectName
と Java Class 名を含む) を返します。
MBeanServerConnection
内の queryMBeans
name
- 取得する MBean を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべての MBean が取得されるquery
- MBean の選択に適用されるクエリー式。null の場合、MBean の選択にクエリー式は適用されない
ObjectInstance
オブジェクトを含むセット。クエリーの条件を満たす MBean が存在しない場合、空のセットが返されるSet queryNames(ObjectName name, QueryExp query)
ObjectName
や Query 式のパターンマッチングによって指定された MBean のセットの名前、特定の MBean の名前のいずれかを返します。これにより、MBean が登録されているかどうかを判別できます。オブジェクト名が null である場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。このメソッドは、選択された MBean に対して、ObjectName のセットを返します。
MBeanServerConnection
内の queryNames
name
- 取得する MBean 名を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべての MBean の名前が取得されるquery
- MBean の選択に適用されるクエリー式。null の場合、MBean の選択にクエリー式は適用されない
boolean isRegistered(ObjectName name)
MBeanServerConnection
内の isRegistered
name
- チェック対象の MBean のオブジェクト名
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null の場合Integer getMBeanCount()
MBeanServerConnection
内の getMBeanCount
Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException
MBeanServerConnection
内の getAttribute
name
- MBean のオブジェクト名。この MBean の属性が取得されるattribute
- 取得される属性の名前を指定する String
AttributeNotFoundException
- MBean の指定された属性がアクセス不能である場合
MBeanException
- MBean の取得メソッドによってスローされる例外をラップする場合
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合
ReflectionException
- 設定メソッドの呼び出し時にスローされる java.lang.Exception
をラップする場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内に属性が指定されていない場合setAttribute(javax.management.ObjectName, javax.management.Attribute)
AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException
MBeanServerConnection
内の getAttributes
name
- MBean のオブジェクト名。この MBean の属性が取得されるattributes
- 取得される属性のリスト
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合
ReflectionException
- Dynamic MBean の getAttributes メソッドの呼び出し時に例外が発生した場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null である場合setAttributes(javax.management.ObjectName, javax.management.AttributeList)
void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
MBeanServerConnection
内の setAttribute
name
- MBean 名。この MBean の属性が設定されるattribute
- 設定される属性の ID と設定される値
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合
AttributeNotFoundException
- MBean の指定された属性がアクセス不能である場合
InvalidAttributeValueException
- 指定された値が、属性に対する有効な値でない場合
MBeanException
- MBean の設定メソッドによってスローされる例外をラップする場合
ReflectionException
- 設定メソッドの呼び出し時にスローされる java.lang.Exception
をラップする場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内に属性が指定されていない場合getAttribute(javax.management.ObjectName, java.lang.String)
AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException
MBeanServerConnection
内の setAttributes
name
- MBean のオブジェクト名。この MBean の属性が設定されるattributes
- 属性のリスト (設定される属性の ID と設定される値)
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合
ReflectionException
- Dynamic MBean の setAttributes メソッドの呼び出し時に例外が発生した場合
RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null である場合getAttributes(javax.management.ObjectName, java.lang.String[])
Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException
MBeanServerConnection
内の invoke
name
- メソッドの呼び出しが行われる MBean のオブジェクト名operationName
- 呼び出されるオペレーションの名前params
- オペレーションの呼び出し時に設定されるパラメータを含む配列signature
- オペレーションのシグニチャーを含む配列。クラスオブジェクトのロードには、オペレーションを呼び出した MBean をロードするときと同じクラスローダが使用される
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合
MBeanException
- MBean の呼び出しメソッドによってスローされる例外をラップする場合
ReflectionException
- メソッドの呼び出し時にスローされる java.lang.Exception
をラップする場合String getDefaultDomain()
MBeanServerConnection
内の getDefaultDomain
String[] getDomains()
MBean が現在登録されているドメインのリストを返します。返される配列内に文字列が含まれる場合は、その文字列と等しい getDomain()
を持つ ObjectName で 1 個以上の MBean が登録されています。返される配列内の文字列の順序は未定義です。
MBeanServerConnection
内の getDomains
void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException
登録済み MBean にリスナーを追加します。
MBean が発行した通知は、MBeanServer によってリスナーに転送されます。通知のソースが MBean オブジェクトの参照になっている場合、MBean サーバは、これを MBean の ObjectName で置き換えます。それ以外の場合、ソースが変更されることはありません。
MBeanServerConnection
内の addNotificationListener
name
- リスナーが追加される MBean の名前listener
- 登録済み MBean が発行した通知を処理するリスナーオブジェクトfilter
- フィルタオブジェクト。フィルタが null の場合、通知処理の前にフィルタは適用されないhandback
- 通知が発行されたときリスナーに送信されるコンテキスト
InstanceNotFoundException
- 登録済み MBean の中に、指定された MBean 名がない場合removeNotificationListener(ObjectName, NotificationListener)
,
removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException
登録済み MBean にリスナーを追加します。
MBean が発行した通知は、MBeanServer によってリスナーに転送されます。通知のソースが MBean オブジェクトの参照になっている場合、MBean サーバは、これを MBean の ObjectName で置き換えます。それ以外の場合、ソースが変更されることはありません。
通知を受け取るリスナーオブジェクトは、このメソッドの呼び出し時に指定された名前で登録されたリスナーオブジェクトです。その後は登録しなくても引き続き通知を受け取ります。
MBeanServerConnection
内の addNotificationListener
name
- リスナーが追加される MBean の名前listener
- 登録済み MBean が発行した通知を処理するリスナーのオブジェクト名filter
- フィルタオブジェクト。フィルタが null の場合、通知処理の前にフィルタは適用されないhandback
- 通知が発行されたときリスナーに送信されるコンテキスト
InstanceNotFoundException
- 登録済み MBean の中に、通知リスナーまたは通知ブロードキャスタの MBean 名がない場合
RuntimeOperationsException
- IllegalArgumentException
をラップする場合。listener
によって指定された MBean が存在していても、NotificationListener
インタフェースを実装していない場合removeNotificationListener(ObjectName, ObjectName)
,
removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException, ListenerNotFoundException
リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。
MBeanServerConnection
内の removeNotificationListener
name
- リスナーが削除される MBean の名前listener
- 削除されるリスナーのオブジェクト名
InstanceNotFoundException
- 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException
- リスナーが MBean に登録されていない場合addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException
登録済み MBean からリスナーを削除します。
MBean は、指定された listener
、filter
、および handback
パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの 1 つだけが削除されます。
削除されるリスナー内で null が指定されている場合、filter
および handback
パラメータは null になります。
MBeanServerConnection
内の removeNotificationListener
name
- リスナーが削除される MBean の名前listener
- 以前にこの MBean に追加されたリスナーfilter
- リスナーの追加時に指定されたフィルタhandback
- リスナーの追加時に指定されたハンドバック
InstanceNotFoundException
- 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException
- リスナーが MBean に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException
登録済み MBean からリスナーを削除します。
リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。
MBeanServerConnection
内の removeNotificationListener
name
- リスナーが削除される MBean の名前listener
- 削除されるリスナーのオブジェクト名
InstanceNotFoundException
- 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException
- リスナーが MBean に登録されていない場合addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException
登録済み MBean からリスナーを削除します。
MBean は、指定された listener
、filter
、および handback
パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの 1 つだけが削除されます。
削除されるリスナー内で null が指定されている場合、filter
および handback
パラメータは null になります。
MBeanServerConnection
内の removeNotificationListener
name
- リスナーが削除される MBean の名前listener
- 以前にこの MBean に追加されたリスナーfilter
- リスナーの追加時に指定されたフィルタhandback
- リスナーの追加時に指定されたハンドバック
InstanceNotFoundException
- 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException
- リスナーが MBean に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException
MBeanServerConnection
内の getMBeanInfo
name
- 分析対象の MBean の名前
MBeanInfo
のインスタンス。この MBean のすべての属性とオペレーションの取得を許可する
IntrospectionException
- イントロスペクション中に例外が発生した場合
InstanceNotFoundException
- 指定された MBean が見つからなかった場合
ReflectionException
- Dynamic MBean の getMBeanInfo メソッドの呼び出し時に例外が発生した場合boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException
指定された MBean が指定されたクラスのインスタンスである場合は true、そうでない場合は false を返します。
name
が MBean を指定していない場合、このメソッドは InstanceNotFoundException
をスローします。
それ以外の場合、
X は name
で指定された MBean、
L は X の ClassLoader、
N は X の MBeanInfo
内のクラス名になります。
N が className
と等しい場合、結果は true です。
それ以外の場合、L が N と className
の両方を正常にロードし、最初のクラスから 2 番目のクラスを割り当てることができる場合、結果は true です。
それ以外の場合、結果は false です。
MBeanServerConnection
内の isInstanceOf
name
- MBean の ObjectName
className
- クラスの名前
InstanceNotFoundException
- 指定された MBean が MBean サーバに登録されていない場合Class.isAssignableFrom(Class)
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 の場合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 の場合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 の場合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 の場合@Deprecated ObjectInputStream deserialize(ObjectName name, byte[] data) throws InstanceNotFoundException, OperationsException
getClassLoaderFor
を使って、直列化復元に使用する適切なクラスローダを取得します。
MBean のクラスローダのコンテキストで、バイト配列を直列化復元します。
name
- MBean の名前。この MBean のクラスローダを使って、直列化復元が行われるdata
- 直列化復元の対象となるバイト配列
InstanceNotFoundException
- 指定された MBean が見つからない場合
OperationsException
- 入出力に関連した例外のどれかが発生した場合@Deprecated ObjectInputStream deserialize(String className, byte[] data) throws OperationsException, ReflectionException
getClassLoaderRepository()
を使ってクラスローダリポジトリを取得し、これを使って直列化復元を行います。
指定された MBean クラスローダのコンテキストで、バイト配列の直列化復元を行います。クラスローダを検索するには、クラスローダリポジトリ
を使って className
クラスをロードします。このクラスのクラスローダが使用されます。
className
- クラスの名前。このクラスのクラスローダを使って、直列化復元が行われるdata
- 直列化復元の対象となるバイト配列
OperationsException
- 入出力に関連した例外のどれかが発生した場合
ReflectionException
- 指定されたクラスがクラスローダリポジトリにロードされない場合@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
- 指定されたクラスが指定されたクラスローダにロードされない場合ClassLoader getClassLoaderFor(ObjectName mbeanName) throws InstanceNotFoundException
指定された MBean のクラスのロードに使用された ClassLoader
を返します。
mbeanName
- MBean の ObjectName
.loadClass(s)
の結果が任意の文字列 s の l.loadClass(s)
に一致
InstanceNotFoundException
- 指定された MBean が見つからない場合ClassLoader getClassLoader(ObjectName loaderName) throws InstanceNotFoundException
指定された ClassLoader
を返します。
loaderName
- ClassLoader の ObjectName。null の場合、MBean サーバ固有の ClassLoader が返される
.loadClass(s)
の結果が任意の文字列 s の l.loadClass(s)
に一致
InstanceNotFoundException
- 指定された ClassLoader が見つからない場合ClassLoaderRepository getClassLoaderRepository()
この MBeanServer の ClassLoaderRepository を返します。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。