モジュール java.management
パッケージ javax.management

クラスMBeanServerFactory

java.lang.Object
javax.management.MBeanServerFactory

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の初期インスタンスを作成します。 この処理の間にチェック例外(ClassNotFoundExceptionInstantiationExceptionなど)が発生した場合は、MBeanServerFactoryにより、この例外がRuntimeException内から伝播されます。

javax.management.builder.initialシステム・プロパティは、新しいMBeanServerを作成する必要がある場合と、このプロパティがポイントするクラスがロードされた場合に確認されます。 クラスが現在のMBeanServerBuilderのクラスでない場合、新しいMBeanServerBuilderが作成されます。 それ以外の場合、MBeanServerFactoryは、新しいMBeanServerBuilderを作成するか、現在のMBeanServerBuilderを再利用します。

このプロパティがポイントするクラスがロードできない場合、またはMBeanServerBuilderの有効なサブクラスに一致していない場合、例外がスローされます。この場合は、javax.management.builder.initialシステム・プロパティを有効な値にリセットしないかぎり、MBeanServerを作成できません。

MBeanServerBuilderは、セキュリティ層を追加するなどの目的で、デフォルトのMBeanServerBuilder実装によって返されるMBeanServersをラップできるようにします。

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