public class ManagementFactory extends Object
ManagementFactory
クラスは、Javaプラットフォームの管理対象Beanを取得するためのファクトリ・クラスです。このクラスは、Java仮想マシンのコンポーネントの管理インタフェースを表す1つ以上のプラットフォームMXBeanを返すstaticメソッドで構成されます。
プラットフォームMXBeanは、JMXインストゥルメンテーション仕様に適合する管理Beanであり、基本データ型のセットだけを使用します。JMX管理アプリケーションとプラットフォームMBeanServerは、MXBean固有のデータ型のためのクラスを必要とすることなく相互運用できます。JMXコネクタ・サーバーとコネクタ・クライアントの間で転送されるデータ型は、公開型であり、これによってバージョン間の相互運用が可能です。詳細は、「MXBean仕様」を参照してください。
各プラットフォームMXBeanは、PlatformManagedObject
であり、プラットフォームMBeanServer
での登録のために、getObjectName
メソッドによって返される一意のObjectName
を持ちます。
アプリケーションは、次の方法でプラットフォーム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仮想マシンは、次の管理インタフェースのインスタンスを持たないか、単一のインスタンスを持ちます。
管理インタフェース オブジェクト名 CompilationMXBean
java.lang:type=Compilation
Java仮想マシンは、次の管理インタフェースのインスタンスを1つ以上持つことができます。
管理インタフェース オブジェクト名 GarbageCollectorMXBean
java.lang:type=GarbageCollector
,name=collector's nameMemoryManagerMXBean
java.lang:type=MemoryManager
,name=manager's nameMemoryPoolMXBean
java.lang:type=MemoryPool
,name=pool's nameBufferPoolMXBean
java.nio:type=BufferPool,name=
pool name
MXBean
修飾子と型 | フィールドと説明 |
---|---|
static String |
CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean のObjectNameの文字列表現です。 |
static String |
COMPILATION_MXBEAN_NAME
CompilationMXBean のObjectNameの文字列表現です。 |
static String |
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean のObjectNameのドメイン名と型キー・プロパティです。 |
static String |
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean のObjectNameのドメイン名と型キー・プロパティです。 |
static String |
MEMORY_MXBEAN_NAME
MemoryMXBean のObjectNameの文字列表現です。 |
static String |
MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean のObjectNameのドメイン名と型キー・プロパティです。 |
static String |
OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean のObjectNameの文字列表現です。 |
static String |
RUNTIME_MXBEAN_NAME
RuntimeMXBean のObjectNameの文字列表現です。 |
static String |
THREAD_MXBEAN_NAME
ThreadMXBean のObjectNameの文字列表現です。 |
修飾子と型 | メソッドと説明 |
---|---|
static ClassLoadingMXBean |
getClassLoadingMXBean()
Java仮想マシンのクラス・ローディング・システムの管理ビーンを返します。
|
static CompilationMXBean |
getCompilationMXBean()
Java仮想マシンのコンパイル・システムの管理ビーンを返します。
|
static List<GarbageCollectorMXBean> |
getGarbageCollectorMXBeans()
Java仮想マシン内の
GarbageCollectorMXBean オブジェクトのリストを返します。 |
static List<MemoryManagerMXBean> |
getMemoryManagerMXBeans()
Java仮想マシン内の
MemoryManagerMXBean オブジェクトのリストを返します。 |
static MemoryMXBean |
getMemoryMXBean()
Java仮想マシンのメモリー・システムの管理ビーンを返します。
|
static List<MemoryPoolMXBean> |
getMemoryPoolMXBeans()
Java仮想マシン内の
MemoryPoolMXBean オブジェクトのリストを返します。 |
static OperatingSystemMXBean |
getOperatingSystemMXBean()
Java仮想マシンを実行しているオペレーティング・システムの管理ビーンを返します。
|
static Set<Class<? extends PlatformManagedObject>> |
getPlatformManagementInterfaces()
Javaプラットフォームを監視および管理するためのすべての管理インタフェースを表す、
Class オブジェクト(PlatformManagedObject のサブインタフェース)のセットを返します。 |
static MBeanServer |
getPlatformMBeanServer()
プラットフォーム
MBeanServer を返します。 |
static <T extends PlatformManagedObject> |
getPlatformMXBean(Class<T> mxbeanInterface)
Java仮想マシン内で単一のインスタンスを持つように指定された特定の
mxbeanInterface を実装したプラットフォームMXBeanを返します。 |
static <T extends PlatformManagedObject> |
getPlatformMXBean(MBeanServerConnection connection, Class<T> mxbeanInterface)
Java仮想マシン内で単一のインスタンスを持つように指定された、
mxbeanInterface のプラットフォームMXBeanプロキシを返します。このプロキシは、指定されたMBeanServerConnection 経由でメソッド呼出しを転送します。 |
static <T extends PlatformManagedObject> |
getPlatformMXBeans(Class<T> mxbeanInterface)
Java仮想マシン内の、指定された
mxbeanInterface を実装したプラットフォームMXBeanのリストを返します。 |
static <T extends PlatformManagedObject> |
getPlatformMXBeans(MBeanServerConnection connection, Class<T> mxbeanInterface)
指定された
MBeanServerConnection 経由でmxbeanInterface のメソッド呼出しを転送するためのプラットフォームMXBeanプロキシのリストを返します。 |
static RuntimeMXBean |
getRuntimeMXBean()
Java仮想マシンの実行システムの管理ビーンを返します。
|
static ThreadMXBean |
getThreadMXBean()
Java仮想マシンのスレッド・システムの管理ビーンを返します。
|
static <T> T |
newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface)
指定されたMBeanServerConnectionを介してメソッド呼出しを転送する、指定されたMXBean名のプラットフォームMXBeanインタフェースのプロキシを返します。
|
public static final String CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean
のObjectNameの文字列表現です。public static final String COMPILATION_MXBEAN_NAME
CompilationMXBean
のObjectNameの文字列表現です。public static final String MEMORY_MXBEAN_NAME
MemoryMXBean
のObjectNameの文字列表現です。public static final String OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean
のObjectNameの文字列表現です。public static final String RUNTIME_MXBEAN_NAME
RuntimeMXBean
のObjectNameの文字列表現です。public static final String THREAD_MXBEAN_NAME
ThreadMXBean
のObjectNameの文字列表現です。public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean
のObjectNameのドメイン名と型キー・プロパティです。GarbageCollectorMXBeanの一意のObjectNameは、この文字列に「,name=コレクタ名」を追加することで作成できます。public static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean
のObjectNameのドメイン名と型キー・プロパティです。MemoryManagerMXBeanの一意のObjectNameは、この文字列に「,name=マネージャ名」を追加することで作成できます。public static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean
のObjectNameのドメイン名と型キー・プロパティです。MemoryPoolMXBeanの一意のObjectNameは、この文字列に「,name=プール名」を追加することで作成できます。public static ClassLoadingMXBean getClassLoadingMXBean()
ClassLoadingMXBean
オブジェクト。public static MemoryMXBean getMemoryMXBean()
MemoryMXBean
オブジェクト。public static ThreadMXBean getThreadMXBean()
ThreadMXBean
オブジェクト。public static RuntimeMXBean getRuntimeMXBean()
RuntimeMXBean
オブジェクト。public static CompilationMXBean getCompilationMXBean()
CompilationMXBean
オブジェクト。Java仮想マシンがコンパイル・システムを持たない場合はnull。public static OperatingSystemMXBean getOperatingSystemMXBean()
OperatingSystemMXBean
オブジェクト。public static List<MemoryPoolMXBean> getMemoryPoolMXBeans()
MemoryPoolMXBean
オブジェクトのリストを返します。Java仮想マシンは、1つ以上のメモリー・プールを保有できます。実行中にメモリー・プールを追加または削除できます。public static List<MemoryManagerMXBean> getMemoryManagerMXBeans()
MemoryManagerMXBean
オブジェクトのリストを返します。Java仮想マシンは、1つ以上のメモリー・マネージャを持つことができます。実行中にメモリー・マネージャを追加または削除できます。public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans()
GarbageCollectorMXBean
オブジェクトのリストを返します。Java仮想マシンは、1つ以上のGarbageCollectorMXBeanオブジェクトを持つことができます。また、実行中にGarbageCollectorMXBeanを追加または削除できます。public 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()
public static <T> T newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface) throws IOException
このメソッドは、次と同等です。
Proxy.newProxyInstance
(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler)
ここで、handlerはMXBeanインタフェースへのメソッド呼出しのディスパッチ先のInvocationHandler
です。このhandlerはMXBeanデータ型の入力パラメータをマッピングされた公開型に変換してから、MBeanServerに転送し、MBeanServerを介してMXBeanメソッド呼び出しからの戻り値を公開型からMXBeanインタフェースで宣言された対応する戻り値の型に変換します。
MXBeanが通知を発行する(NotificationEmitter
を実装する)場合、mxbeanInterfaceとNotificationEmitterの両方がこのプロキシによって実装されます。
注:
IOException
がスローされる。プロキシを使用してプラットフォームMXBeanにリモート・アクセスするアプリケーションでは、MBeanServerConnectorインタフェースを使用してアクセスする場合のように、IOExceptionをキャッチする用意が必要になる。InvalidObjectException
をキャッチする用意をする必要がある。 MBeanServerInvocationHandler
またはそのnewProxyInstance
メソッドを使用して、プラットフォームMXBeanのプロキシを作成することはできない。MBeanServerInvocationHandlerによって作成されたプロキシ・オブジェクトは、クラス仕様で記述されたプラットフォームMXBeanのプロパティを処理しない。
T
- mxbeanInterface
型パラメータconnection
- 転送先となるMBeanServerConnection。mxbeanName
- 転送先のconnection内のプラットフォームMXBean名。mxbeanNameはObjectName
の形式でなければならない。mxbeanInterface
- プロキシによって実装されるMXBeanインタフェース。null
。IllegalArgumentException
- 次の場合
ObjectName
の形式でない、またはIOException
- MBeanServerConnectionへのアクセス時に通信に関する問題が発生した場合。public static <T extends PlatformManagedObject> T getPlatformMXBean(Class<T> mxbeanInterface)
mxbeanInterface
を実装したプラットフォームMXBeanを返します。Java仮想マシン内に管理インタフェースが実装されていない場合(たとえば、コンパイル・システムを持たないJava仮想マシンにはCompilationMXBean
が実装されていません)、このメソッドはnull
を返します。それ以外の場合は、次を呼び出すのと同等です。
getPlatformMXBeans(mxbeanInterface)
.get(0);
T
- mxbeanInterface
型パラメータmxbeanInterface
- Java仮想マシン内で単一のインスタンスを持つプラットフォームMXBeanの管理インタフェース(実装されている場合)。mxbeanInterface
を実装するプラットフォームMXBean。存在しない場合はnull
。IllegalArgumentException
- mxbeanInterface
がプラットフォーム管理インタフェースでないか、シングルトンのプラットフォームMXBeanでない場合。public static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(Class<T> mxbeanInterface)
mxbeanInterface
を実装したプラットフォームMXBeanのリストを返します。返されたリストには、ゼロ個以上のインスタンスが含まれる可能性があります。返されるリスト内のインスタンス数は、指定された管理インタフェースの仕様で定義されています。順序は未定義であり、返されるリストが以前の呼出し時と同じ順序になっているという保証はありません。T
- mxbeanInterface
型パラメータmxbeanInterface
- プラットフォームMXBeanの管理インタフェースmxbeanInterface
を実装するプラットフォームMXBeanのリスト。IllegalArgumentException
- mxbeanInterface
がプラットフォーム管理インタフェースでない場合。public static <T extends PlatformManagedObject> T getPlatformMXBean(MBeanServerConnection connection, Class<T> mxbeanInterface) throws IOException
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
へのアクセス時に通信に関する問題が発生した場合。newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
public 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
へのアクセス時に通信に関する問題が発生した場合。newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
public static Set<Class<? extends PlatformManagedObject>> getPlatformManagementInterfaces()
Class
オブジェクト(PlatformManagedObject
のサブインタフェース)のセットを返します。Class
オブジェクト(PlatformManagedObject
のサブインタフェース)のセット。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.