public class MBeanServerFactory extends Object
MBeanサーバー参照を提供します。 このクラスのインスタンスは存在しません。
JMX 1.2以降、このクラスを使って、デフォルトのMBeanServer実装を置き換えることができるようになっています。 これは、MBeanServerBuilderクラスを使用して行われます。 最初にインスタンス化されるMBeanServerBuilderのクラスは、システム・プロパティjavax.management.builder.initialで指定できます。 空のpublicコンストラクタを持つ、MBeanServerBuilderのpublicサブクラスを指定する必要があります。
デフォルトでは、プロパティの値が指定されていない場合、javax.management.MBeanServerBuilderのインスタンスが作成されます。 それ以外の場合、MBeanServerFactoryは、Thread.currentThread().getContextClassLoader()を使って指定されたクラスをロードしようとします。プロパティの値としてnullが指定されている場合は、Class.forName()を使用して行います。 続いて、Class.newInstance()を使って、そのClassの初期インスタンスを作成します。 この処理の間にチェック例外(ClassNotFoundException、InstantiationExceptionなど)が発生した場合は、MBeanServerFactoryにより、この例外が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<MBeanServer> |
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参照を削除します。
|
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<MBeanServer> 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である場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。