|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.management.MBeanServerFactory
public class MBeanServerFactory
MBean サーバ参照を提供します。このクラスにはインスタンスはありません。
JMX 1.2 以降、このクラスを使って、デフォルトの MBeanServer 実装を置き換えることができるようになっています。この処理は、MBeanServerBuilder
クラスを使って行われます。最初にインスタンス化される MBeanServerBuilder のクラスは、システムプロパティ javax.management.builder.initial で指定できます。空の public コンストラクタを持つ、MBeanServerBuilder
の public サブクラスを指定する必要があります。
デフォルトでは、プロパティの値が指定されていない場合、javax.management.MBeanServerBuilder
のインスタンスが作成されます。MBeanServerFactory は、プロパティの値が指定されている場合は、Thread.currentThread().getContextClassLoader()
を使って指定されたクラスをロードしようとします。プロパティの値として null が指定されている場合は、Thread.currentThread().getContextClassLoader()
ではなく Class.forName()
を使用します。続いて、Class.newInstance()
を使って、その Class の初期インスタンスを作成します。この処理の間に確認済みの例外 (ClassNotFoundException
、InstantiationException
など) が発生した場合は、この例外を RuntimeException 内へ送ります。
javax.management.builder.initial システムプロパティは、新しい MBeanServer を作成する必要がある場合と、このプロパティがポイントするクラスがロードされた場合に確認されます。クラスが現在の MBeanServerBuilder のクラスでない場合、新しい MBeanServerBuilder が作成されます。それ以外の場合、MBeanServerFactory は、新しい MBeanServerBuilder を作成するか、現在の MBeanServerBuilder を再利用します。
このプロパティがポイントするクラスがロードできない場合、または MBeanServerBuilder の有効なサブクラスに一致していない場合、例外がスローされます。この場合は、javax.management.builder.initial システムプロパティを有効な値にリセットしないかぎり、MBeanServer を作成できません。
MBeanServerBuilder は、セキュリティ層を追加するなどの目的で、デフォルトの MBeanServerBuilder 実装によって返される MBeanServers をラップできるようにします。
メソッドの概要 | |
---|---|
static MBeanServer |
createMBeanServer()
標準のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。 |
static MBeanServer |
createMBeanServer(String domain)
指定のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。 |
static ArrayList |
findMBeanServer(String agentId)
登録済みの MBeanServer オブジェクトのリストを返します。 |
static ClassLoaderRepository |
getClassLoaderRepository(MBeanServer server)
指定の MBeanServer によって使用される ClassLoaderRepository を返します。 |
static MBeanServer |
newMBeanServer()
標準のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。 |
static MBeanServer |
newMBeanServer(String domain)
指定のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。 |
static void |
releaseMBeanServer(MBeanServer mbeanServer)
作成された MBeanServer の内部 MBeanServerFactory 参照を削除します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
---|
public static void releaseMBeanServer(MBeanServer mbeanServer)
mbeanServer
- 削除される MBeanServer オブジェクト
IllegalArgumentException
- mbeanServer
が createMBeanServer
メソッドで作成されていない場合、または releaseMBeanServer
がすでに呼び出されている場合
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanServerPermission
("releaseMBeanServer")
を持っていない場合public static MBeanServer createMBeanServer()
標準のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。デフォルトドメイン名は、ユーザがドメイン名として null を指定したとき、MBean の ObjectName のドメイン部分として使用されます。
標準のデフォルトドメイン名は、DefaultDomain
です。
MBeanServer 参照は内部で保持されます。このため、findMBeanServer
は、この MBeanServer オブジェクトの参照を返すことができます。
このメソッドは createMBeanServer(null)
と同等です。
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanServerPermission
("createMBeanServer")
を持っていない場合
JMRuntimeException
- javax.management.builder.initial
プロパティは存在するが、このプロパティによって指定されたクラスを引数なしの public コンストラクタでインスタンス化できない場合。または、インスタンス化されたビルダーが newMBeanServerDelegate
または newMBeanServer
メソッドから null を返す場合
ClassCastException
- javax.management.builder.initial
プロパティが存在し、インスタンス化も可能であるが、MBeanServerBuilder
準拠の割り当てでない場合public static MBeanServer createMBeanServer(String domain)
指定のデフォルトドメイン名を持つ MBeanServer
インタフェースを実装する新しいオブジェクトを返します。指定のドメイン名は、ユーザがドメイン名として null を指定したとき、MBean の ObjectName のドメイン部分として使用されます。
MBeanServer 参照は内部で保持されます。このため、findMBeanServer
は、この MBeanServer オブジェクトの参照を返すことができます。
domain
- 作成された MBeanServer のデフォルトドメイン名。MBeanServer.getDefaultDomain()
から返される値
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanServerPermission
("createMBeanServer")
を持っていない場合
JMRuntimeException
- javax.management.builder.initial
プロパティは存在するが、このプロパティによって指定されたクラスを引数なしの public コンストラクタでインスタンス化できない場合。または、インスタンス化されたビルダーが newMBeanServerDelegate
または newMBeanServer
メソッドから null を返す場合
ClassCastException
- javax.management.builder.initial
プロパティが存在し、インスタンス化も可能であるが、MBeanServerBuilder
準拠の割り当てでない場合public static MBeanServer newMBeanServer()
標準のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。ただし、この新しいオブジェクトの内部参照は保持されません。デフォルトドメイン名は、ユーザがドメイン名として null を指定したとき、MBean の ObjectName のドメイン部分として使用されます。
標準のデフォルトドメイン名は、DefaultDomain
です。
参照は保持されません。findMBeanServer
は、この MBeanServer オブジェクトの参照を返すことはできません。しかし、ガベージコレクタは、もう参照されなくなった MBeanServer オブジェクトを削除できます。
このメソッドは newMBeanServer(null)
と同等です。
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanServerPermission
("newMBeanServer")
を持っていない場合
JMRuntimeException
- javax.management.builder.initial
プロパティは存在するが、このプロパティによって指定されたクラスを引数なしの public コンストラクタでインスタンス化できない場合。または、インスタンス化されたビルダーが newMBeanServerDelegate
または newMBeanServer
メソッドから null を返す場合
ClassCastException
- javax.management.builder.initial
プロパティが存在し、インスタンス化も可能であるが、MBeanServerBuilder
準拠の割り当てでない場合public static MBeanServer newMBeanServer(String domain)
指定のデフォルトドメイン名を持つ MBeanServer インタフェースを実装する新しいオブジェクトを返します。ただし、この新しいオブジェクトの内部参照は保持されません。指定のドメイン名は、ユーザがドメイン名として null を指定したとき、MBean の ObjectName のドメイン部分として使用されます。
参照は保持されません。findMBeanServer
は、この MBeanServer オブジェクトの参照を返すことはできません。しかし、ガベージコレクタは、もう参照されなくなった MBeanServer オブジェクトを削除できます。
domain
- 作成された MBeanServer のデフォルトドメイン名。MBeanServer.getDefaultDomain()
から返される値
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanServerPermission
("newMBeanServer")
を持っていない場合
JMRuntimeException
- javax.management.builder.initial
プロパティは存在するが、このプロパティによって指定されたクラスを引数なしの public コンストラクタでインスタンス化できない場合。または、インスタンス化されたビルダーが newMBeanServerDelegate
または newMBeanServer
メソッドから null を返す場合
ClassCastException
- javax.management.builder.initial
プロパティが存在し、インスタンス化も可能であるが、MBeanServerBuilder
準拠の割り当てでない場合public static ArrayList findMBeanServer(String agentId)
登録済みの MBeanServer オブジェクトのリストを返します。登録済みの MBeanServer オブジェクトは、createMBeanServer
メソッドによって作成され、そのあと releaseMBeanServer
で解放されていないオブジェクトです。
agentId
- 取得する MBeanServer のエージェント識別子。このパラメータが null の場合、この JVM 内の登録済みのすべての MBeanServer が返される。それ以外の場合、agentId
と等しい ID を持つ MBeanServer だけが返される。MBeanServer の ID は、委譲 MBean の MBeanServerId
属性
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanServerPermission
("findMBeanServer")
を持っていない場合public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)
server.getClassLoaderRepository()
と同等です。
server
- 検査中の MBeanServer。JMX 1.2 以降、server
が null
の場合、結果は NullPointerException
。この動作は、null
の使用が推奨されない JMX 1.1 とは異なる
SecurityException
- SecurityManager が存在し、呼び出し元がアクセス権として MBeanPermission
("getClassLoaderRepository")
を持っていない場合
NullPointerException
- server
が null の場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。