- java.lang.Object
- 
- java.lang.management.ManagementFactory
 
- 
 
 public class ManagementFactory extends Object ManagementFactoryクラスは、Javaプラットフォームの管理対象Beanを取得するためのファクトリ・クラスです。 このクラスは、Java仮想マシンのコンポーネントの管理インタフェースを表す1つ以上のプラットフォームMXBeanを返すstaticメソッドで構成されます。プラットフォームMXBeanプラットフォームMXBeanは、JMXインストゥルメンテーション仕様に適合する管理Beanであり、基本データ型のセットだけを使用します。 JMX管理アプリケーションとプラットフォームMBeanServerは、MXBean固有のデータ型のためのクラスを必要とすることなく相互運用できます。 JMXコネクタ・サーバーとコネクタ・クライアントの間で転送されるデータ型は、公開型であり、これによってバージョン間の相互運用が可能です。 詳細は、MXBean仕様を参照してください。 各プラットフォームMXBeanは、 PlatformManagedObjectであり、プラットフォームMBeanServerでの登録のために、getObjectNameメソッドによって返される一意のObjectNameを持ちます。アプリケーションは、次の方法でプラットフォームMXBeanにアクセスできます。 1. MXBeanインタフェースへの直接アクセス- getPlatformMXBeanまたは- getPlatformMXBeansメソッドを呼び出してMXBeanインスタンスを取得し、実行中の仮想マシンのMXBeanにローカル・アクセスします。
- getPlatformMXBean(MBeanServerConnection, Class)または- getPlatformMXBeans(MBeanServerConnection, Class)メソッドを呼び出すことで、指定された- MBeanServerにメソッド呼出しを転送するMXBeanプロキシ・インスタンスを構築します。- newPlatformMXBeanProxyメソッドを使用して、指定された- ObjectNameのMXBeanプロキシ・インスタンスを構築することもできます。 プロキシは通常、実行中のほかの仮想マシンのMXBeanにリモート・アクセスするために構築されます。
 2. MBeanServerを介したMXBeanインタフェースへの間接アクセス- プラットフォームMBeanServerでMXBeanにローカル・アクセスするか、または特定のMBeanServerConnectionでMXBeanにリモート・アクセスします。 MXBeanの属性や操作で使用されるのはJMX公開型だけですが、これには、OpenTypeに定義された基本データ型、CompositeData、およびTabularDataが含まれます。 このマッピングの詳細は、MXBeanの仕様で指定されています。
 getPlatformManagementInterfacesメソッドは、Java仮想マシンでサポートされているすべての管理インタフェースを返します。これには、以下の表に示す標準管理インタフェースとともに、JDK実装によって拡張された管理インタフェースも含まれます。Java仮想マシンは次の管理インタフェースの単一のインスタンスを持ちます。 Java仮想マシンは、次の管理インタフェースのインスタンスを持たないか、単一のインスタンスを持ちます。 管理インタフェース オブジェクト名 CompilationMXBeanjava.lang:type=CompilationJava仮想マシンは、次の管理インタフェースのインスタンスを1つ以上持つことができます。 管理インタフェース オブジェクト名 GarbageCollectorMXBeanjava.lang:type=GarbageCollector,name=collector's nameMemoryManagerMXBeanjava.lang:type=MemoryManager,name=manager's nameMemoryPoolMXBeanjava.lang:type=MemoryPool,name=pool's nameBufferPoolMXBeanjava.nio:type=BufferPool,name=pool name- 導入されたバージョン:
- 1.5
- 関連項目:
- JMX仕様, 管理メトリックにアクセスする方法, MXBean
 
- 
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static StringCLASS_LOADING_MXBEAN_NAMEClassLoadingMXBeanのObjectNameの文字列表現です。static StringCOMPILATION_MXBEAN_NAMECompilationMXBeanのObjectNameの文字列表現です。static StringGARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPEGarbageCollectorMXBeanのObjectNameのドメイン名と型キー・プロパティです。static StringMEMORY_MANAGER_MXBEAN_DOMAIN_TYPEMemoryManagerMXBeanのObjectNameのドメイン名と型キー・プロパティです。static StringMEMORY_MXBEAN_NAMEMemoryMXBeanのObjectNameの文字列表現です。static StringMEMORY_POOL_MXBEAN_DOMAIN_TYPEMemoryPoolMXBeanのObjectNameのドメイン名と型キー・プロパティです。static StringOPERATING_SYSTEM_MXBEAN_NAMEOperatingSystemMXBeanのObjectNameの文字列表現です。static StringRUNTIME_MXBEAN_NAMERuntimeMXBeanのObjectNameの文字列表現です。static StringTHREAD_MXBEAN_NAMEThreadMXBeanのObjectNameの文字列表現です。
 - 
メソッドのサマリーすべてのメソッド staticメソッド 具象メソッド 修飾子と型 メソッド 説明 static ClassLoadingMXBeangetClassLoadingMXBean()Java仮想マシンのクラス・ローディング・システムの管理ビーンを返します。static CompilationMXBeangetCompilationMXBean()Java仮想マシンのコンパイル・システムの管理ビーンを返します。static List<GarbageCollectorMXBean>getGarbageCollectorMXBeans()Java仮想マシン内のGarbageCollectorMXBeanオブジェクトのリストを返します。static List<MemoryManagerMXBean>getMemoryManagerMXBeans()Java仮想マシン内のMemoryManagerMXBeanオブジェクトのリストを返します。static MemoryMXBeangetMemoryMXBean()Java仮想マシンのメモリー・システムの管理ビーンを返します。static List<MemoryPoolMXBean>getMemoryPoolMXBeans()Java仮想マシン内のMemoryPoolMXBeanオブジェクトのリストを返します。static OperatingSystemMXBeangetOperatingSystemMXBean()Java仮想マシンを実行しているオペレーティング・システムの管理ビーンを返します。static Set<Class<? extends PlatformManagedObject>>getPlatformManagementInterfaces()Javaプラットフォームを監視および管理するためのすべての管理インタフェースを表す、Classオブジェクト(PlatformManagedObjectのサブインタフェース)のセットを返します。static MBeanServergetPlatformMBeanServer()プラットフォームMBeanServerを返します。static <T extends PlatformManagedObject>
 TgetPlatformMXBean(Class<T> mxbeanInterface)Java仮想マシン内で単一のインスタンスを持つように指定された特定のmxbeanInterfaceを実装したプラットフォームMXBeanを返します。static <T extends PlatformManagedObject>
 TgetPlatformMXBean(MBeanServerConnection connection, Class<T> mxbeanInterface)Java仮想マシン内で単一のインスタンスを持つように指定された、mxbeanInterfaceのプラットフォームMXBeanプロキシを返します。このプロキシは、指定されたMBeanServerConnection経由でメソッド呼出しを転送します。static <T extends PlatformManagedObject>
 List<T>getPlatformMXBeans(Class<T> mxbeanInterface)Java仮想マシン内の、指定されたmxbeanInterfaceを実装したプラットフォームMXBeanのリストを返します。static <T extends PlatformManagedObject>
 List<T>getPlatformMXBeans(MBeanServerConnection connection, Class<T> mxbeanInterface)指定されたMBeanServerConnection経由でmxbeanInterfaceのメソッド呼出しを転送するためのプラットフォームMXBeanプロキシのリストを返します。static RuntimeMXBeangetRuntimeMXBean()Java仮想マシンの実行システムの管理ビーンを返します。static ThreadMXBeangetThreadMXBean()Java仮想マシンのスレッド・システムの管理ビーンを返します。static <T> TnewPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface)指定されたMBeanServerConnectionを介してメソッド呼出しを転送する、指定されたMXBean名のプラットフォームMXBeanインタフェースのプロキシを返します。
 
- 
- 
- 
フィールドの詳細- 
CLASS_LOADING_MXBEAN_NAMEpublic static final String CLASS_LOADING_MXBEAN_NAME ClassLoadingMXBeanのObjectNameの文字列表現です。- 関連項目:
- 定数フィールド値
 
 - 
COMPILATION_MXBEAN_NAMEpublic static final String COMPILATION_MXBEAN_NAME CompilationMXBeanのObjectNameの文字列表現です。- 関連項目:
- 定数フィールド値
 
 - 
MEMORY_MXBEAN_NAMEpublic static final String MEMORY_MXBEAN_NAME MemoryMXBeanのObjectNameの文字列表現です。- 関連項目:
- 定数フィールド値
 
 - 
OPERATING_SYSTEM_MXBEAN_NAMEpublic static final String OPERATING_SYSTEM_MXBEAN_NAME OperatingSystemMXBeanのObjectNameの文字列表現です。- 関連項目:
- 定数フィールド値
 
 - 
RUNTIME_MXBEAN_NAMEpublic static final String RUNTIME_MXBEAN_NAME RuntimeMXBeanのObjectNameの文字列表現です。- 関連項目:
- 定数フィールド値
 
 - 
THREAD_MXBEAN_NAMEpublic static final String THREAD_MXBEAN_NAME ThreadMXBeanのObjectNameの文字列表現です。- 関連項目:
- 定数フィールド値
 
 - 
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPEpublic static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE GarbageCollectorMXBeanのObjectNameのドメイン名と型キー・プロパティです。GarbageCollectorMXBeanの一意のObjectNameは、この文字列に,name=コレクタ名を追加することで作成できます。- 関連項目:
- 定数フィールド値
 
 - 
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPEpublic static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE MemoryManagerMXBeanのObjectNameのドメイン名と型キー・プロパティです。MemoryManagerMXBeanの一意のObjectNameは、この文字列に,name=マネージャ名を追加することで作成できます。- 関連項目:
- 定数フィールド値
 
 - 
MEMORY_POOL_MXBEAN_DOMAIN_TYPEpublic static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE MemoryPoolMXBeanのObjectNameのドメイン名と型キー・プロパティです。MemoryPoolMXBeanの一意のObjectNameは、この文字列に,name=プール名を追加することで作成できます。- 関連項目:
- 定数フィールド値
 
 
- 
 - 
メソッドの詳細- 
getClassLoadingMXBeanpublic static ClassLoadingMXBean getClassLoadingMXBean() Java仮想マシンのクラス・ローディング・システムの管理ビーンを返します。- 戻り値:
- Java仮想マシンのClassLoadingMXBeanオブジェクト。
 
 - 
getMemoryMXBeanpublic static MemoryMXBean getMemoryMXBean() Java仮想マシンのメモリー・システムの管理ビーンを返します。- 戻り値:
- Java仮想マシンのMemoryMXBeanオブジェクト。
 
 - 
getThreadMXBeanpublic static ThreadMXBean getThreadMXBean() Java仮想マシンのスレッド・システムの管理ビーンを返します。- 戻り値:
- Java仮想マシンのThreadMXBeanオブジェクト。
 
 - 
getRuntimeMXBeanpublic static RuntimeMXBean getRuntimeMXBean() Java仮想マシンの実行システムの管理ビーンを返します。- 戻り値:
- Java仮想マシンのRuntimeMXBeanオブジェクト。
 
 - 
getCompilationMXBeanpublic static CompilationMXBean getCompilationMXBean() Java仮想マシンのコンパイル・システムの管理ビーンを返します。 Java仮想マシンがコンパイル・システムを持たない場合、このメソッドはnullを返します。- 戻り値:
- Java仮想マシンのCompilationMXBeanオブジェクト。Java仮想マシンがコンパイル・システムを持たない場合はnull。
 
 - 
getOperatingSystemMXBeanpublic static OperatingSystemMXBean getOperatingSystemMXBean() Java仮想マシンを実行しているオペレーティング・システムの管理ビーンを返します。- 戻り値:
- Java仮想マシンのOperatingSystemMXBeanオブジェクト。
 
 - 
getMemoryPoolMXBeanspublic static List<MemoryPoolMXBean> getMemoryPoolMXBeans() Java仮想マシン内のMemoryPoolMXBeanオブジェクトのリストを返します。 Java仮想マシンは、1つ以上のメモリー・プールを保有できます。 実行中にメモリー・プールを追加または削除できます。- 戻り値:
- MemoryPoolMXBeanオブジェクトのリスト。
 
 - 
getMemoryManagerMXBeanspublic static List<MemoryManagerMXBean> getMemoryManagerMXBeans() Java仮想マシン内のMemoryManagerMXBeanオブジェクトのリストを返します。 Java仮想マシンは、1つ以上のメモリー・マネージャを持つことができます。 実行中にメモリー・マネージャを追加または削除できます。- 戻り値:
- MemoryManagerMXBeanオブジェクトのリスト。
 
 - 
getGarbageCollectorMXBeanspublic static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans() Java仮想マシン内のGarbageCollectorMXBeanオブジェクトのリストを返します。 Java仮想マシンは、1つ以上のGarbageCollectorMXBeanオブジェクトを持つことができます。 また、実行中にGarbageCollectorMXBeanを追加または削除できます。- 戻り値:
- GarbageCollectorMXBeanオブジェクトのリスト。
 
 - 
getPlatformMBeanServerpublic static MBeanServer getPlatformMBeanServer() プラットフォームMBeanServerを返します。 このメソッドの最初の呼出しで、メソッドは、まずMBeanServerFactory.createMBeanServerメソッドを呼び出してプラットフォームMBeanServerを作成し、そのObjectNameを使ってこのプラットフォームMBeanServerに各プラットフォームMXBeanを登録します。 以降の呼出しでは、このメソッドは、初期に作成されたプラットフォームMBeanServerを返します。MXBeanは動的に作成され、破棄されます。たとえば、メモリー poolsおよびmanagersは、プラットフォームMBeanServerに自動的に登録および登録解除されます。システム・プロパティ javax.management.builder.initialが設定されていると、プラットフォームMBeanServerの作成は、指定されたMBeanServerBuilderにより実行されます。プラットフォームMXBeanに加えて、ほかのアプリケーションの管理ビーンの登録にも、このプラットフォームMBeanServerを使うことをお薦めします。 これにより、すべてのMBeanは同じ MBeanServerを通じて発行され、特にネットワーク・パブリッシングと検出が容易になります。 プラットフォームMXBeanとの名前の重複を避ける必要があります。- 戻り値:
- プラットフォームMBeanServer。プラットフォームMXBeanは、このメソッドがはじめて呼び出されたときにプラットフォームMBeanServer内に登録される。
- 例外:
- SecurityException- セキュリティ・マネージャが存在する場合で、呼出し元が- MBeanServerFactory.createMBeanServer()で必要なアクセス権を持たない場合。
- 関連項目:
- MBeanServerFactory,- MBeanServerFactory.createMBeanServer()
 
 - 
newPlatformMXBeanProxypublic static <T> T newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface) throws IOException 指定されたMBeanServerConnectionを介してメソッド呼出しを転送する、指定されたMXBean名のプラットフォームMXBeanインタフェースのプロキシを返します。このメソッドは、次と同等です。 
 ここで、Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler)handlerはMXBeanインタフェースへのメソッド呼出しのディスパッチ先のInvocationHandlerです。 このhandlerはMXBeanデータ型の入力パラメータをマッピングされた公開型に変換してから、MBeanServerに転送し、MBeanServerを介してMXBeanメソッド呼び出しからの戻り値を公開型からMXBeanインタフェースで宣言された対応する戻り値の型に変換します。MXBeanが通知を発行する( NotificationEmitterを実装する)場合、mxbeanInterfaceとNotificationEmitterの両方がこのプロキシによって実装されます。注: - MXBeanプロキシの使用は、実行中の仮想マシンのプラットフォームMXBeanへのリモート・アクセスに有用である。 MXBeanプロキシへのすべてのメソッド呼出しは、MBeanServerConnectionに転送される。コネクタ・サーバーに通信に関する問題が発生すると、IOExceptionがスローされる。 スローされた場合、IOExceptionはUndeclaredThrowableExceptionでラップされます。 プロキシを使用してプラットフォームのMXBeansにリモート・アクセスするアプリケーションは、UndeclaredThrowableExceptionをキャッチし、その原因がMBeanServerConnectionインタフェースによってスローされたかのようにcauseを処理する準備をしておく必要があります。
- クライアント・アプリケーションが、それとは異なるバージョンを実行中の仮想マシンのMXBeanにリモート・アクセスするように設計されている場合、MXBeanプロキシがクライアント・アプリケーションでロードされた列挙クラスで見つからない列挙定数の名前を受け取った場合にスローされるInvalidObjectExceptionをキャッチする用意をする必要がある。 スローされた場合、InvalidObjectExceptionはUndeclaredThrowableExceptionでラップされます。
- MBeanServerInvocationHandlerまたはその- newProxyInstanceメソッドを使用して、プラットフォームMXBeanのプロキシを作成することはできない。- MBeanServerInvocationHandlerによって作成されたプロキシ・オブジェクトは、クラス仕様で記述されたプラットフォームMXBeanのプロパティを処理しない。
 - 型パラメータ:
- T-- mxbeanInterface型パラメータ
- パラメータ:
- connection- 転送先となる- MBeanServerConnection。
- mxbeanName- 転送先の- connection内のプラットフォームMXBean名。- mxbeanNameは- ObjectNameの形式でなければならない。
- mxbeanInterface- プロキシによって実装されるMXBeanインタフェース。
- 戻り値:
- 指定されたMBeanServerConnectionを介してメソッド呼出しを転送する、指定されたMXBean名のプラットフォームMXBeanインタフェースのプロキシ。存在しない場合はnull。
- 例外:
- IllegalArgumentException- 次の場合- mxbeanNameが有効な- ObjectNameの形式でない、または
- connection内で指定されたMXBeanが、プラットフォームで提供されるMXBeanでない、または
- 指定されたMXBeanがMBeanServerConnectionに登録されていない、または
- 指定されたMXBeanが指定されたmxbeanInterfaceのインスタンスでない
 
- IOException-- MBeanServerConnectionへのアクセス時に通信に関する問題が発生した場合。
 
- MXBeanプロキシの使用は、実行中の仮想マシンのプラットフォームMXBeanへのリモート・アクセスに有用である。 MXBeanプロキシへのすべてのメソッド呼出しは、
 - 
getPlatformMXBeanpublic static <T extends PlatformManagedObject> T getPlatformMXBean(Class<T> mxbeanInterface) Java仮想マシン内で単一のインスタンスを持つように指定された特定のmxbeanInterfaceを実装したプラットフォームMXBeanを返します。 Java仮想マシン内に管理インタフェースが実装されていない場合(たとえば、コンパイル・システムを持たないJava仮想マシンにはCompilationMXBeanが実装されていません)、このメソッドはnullを返します。それ以外の場合は、次を呼び出すのと同等です。getPlatformMXBeans(mxbeanInterface).get(0);- 型パラメータ:
- T-- mxbeanInterface型パラメータ
- パラメータ:
- mxbeanInterface- Java仮想マシン内で単一のインスタンスを持つプラットフォームMXBeanの管理インタフェース(実装されている場合)。
- 戻り値:
- mxbeanInterfaceを実装するプラットフォームMXBean。存在しない場合は- null。
- 例外:
- IllegalArgumentException-- mxbeanInterfaceがプラットフォーム管理インタフェースでないか、シングルトンのプラットフォームMXBeanでない場合。
- 導入されたバージョン:
- 1.7
 
 - 
getPlatformMXBeanspublic static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(Class<T> mxbeanInterface) Java仮想マシン内の、指定されたmxbeanInterfaceを実装したプラットフォームMXBeanのリストを返します。 返されたリストには、ゼロ個以上のインスタンスが含まれる可能性があります。 返されるリスト内のインスタンス数は、指定された管理インタフェースの仕様で定義されています。 順序は未定義であり、返されるリストが以前の呼出し時と同じ順序になっているという保証はありません。- 型パラメータ:
- T-- mxbeanInterface型パラメータ
- パラメータ:
- mxbeanInterface- プラットフォームMXBeanの管理インタフェース
- 戻り値:
- mxbeanInterfaceを実装するプラットフォームMXBeanのリスト。
- 例外:
- IllegalArgumentException-- mxbeanInterfaceがプラットフォーム管理インタフェースでない場合。
- 導入されたバージョン:
- 1.7
 
 - 
getPlatformMXBeanpublic static <T extends PlatformManagedObject> T getPlatformMXBean(MBeanServerConnection connection, Class<T> mxbeanInterface) throws IOException Java仮想マシン内で単一のインスタンスを持つように指定された、mxbeanInterfaceのプラットフォームMXBeanプロキシを返します。このプロキシは、指定されたMBeanServerConnection経由でメソッド呼出しを転送します。 モニターされているJava仮想マシン内に管理インタフェースが実装されていない場合(たとえば、コンパイル・システムを持たないJava仮想マシンにはCompilationMXBeanが実装されていません)、このメソッドはnullを返します。それ以外の場合は、次を呼び出すのと同等です。getPlatformMXBeans(connection, mxbeanInterface).get(0);- 型パラメータ:
- T-- mxbeanInterface型パラメータ
- パラメータ:
- connection- 転送先となる- MBeanServerConnection。
- mxbeanInterface- 監視されているJava仮想マシン内で単一のインスタンスを持つプラットフォームMXBeanの管理インタフェース(実装されている場合)。
- 戻り値:
- 指定されたMBeanServerConnection経由でmxbeanInterfaceのメソッド呼出しを転送するためのプラットフォームMXBeanプロキシ。存在しない場合はnull。
- 例外:
- IllegalArgumentException-- mxbeanInterfaceがプラットフォーム管理インタフェースでないか、シングルトンのプラットフォームMXBeanでない場合。
- IOException-- MBeanServerConnectionへのアクセス時に通信に関する問題が発生した場合。
- 導入されたバージョン:
- 1.7
- 関連項目:
- newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
 
 - 
getPlatformMXBeanspublic static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(MBeanServerConnection connection, Class<T> mxbeanInterface) throws IOException 指定されたMBeanServerConnection経由でmxbeanInterfaceのメソッド呼出しを転送するためのプラットフォームMXBeanプロキシのリストを返します。 返されたリストには、ゼロ個以上のインスタンスが含まれる可能性があります。 返されるリスト内のインスタンス数は、指定された管理インタフェースの仕様で定義されています。 順序は未定義であり、返されるリストが以前の呼出し時と同じ順序になっているという保証はありません。- 型パラメータ:
- T-- mxbeanInterface型パラメータ
- パラメータ:
- connection- 転送先となる- MBeanServerConnection。
- mxbeanInterface- プラットフォームMXBeanの管理インタフェース
- 戻り値:
- 指定されたMBeanServerConnection経由でmxbeanInterfaceのメソッド呼出しを転送するためのプラットフォームMXBeanプロキシのリスト。
- 例外:
- IllegalArgumentException-- mxbeanInterfaceがプラットフォーム管理インタフェースでない場合。
- IOException-- MBeanServerConnectionへのアクセス時に通信に関する問題が発生した場合。
- 導入されたバージョン:
- 1.7
- 関連項目:
- newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
 
 - 
getPlatformManagementInterfacespublic static Set<Class<? extends PlatformManagedObject>> getPlatformManagementInterfaces() Javaプラットフォームを監視および管理するためのすべての管理インタフェースを表す、Classオブジェクト(PlatformManagedObjectのサブインタフェース)のセットを返します。- 戻り値:
- Javaプラットフォームを監視および管理するための管理インタフェースを表す、Classオブジェクト(PlatformManagedObjectのサブインタフェース)のセット。
- 導入されたバージョン:
- 1.7
 
 
- 
 
-