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 仮想マシンは、次の管理インタフェースのインスタンスを持たないか、単一のインスタンスを持ちます。
管理インタフェース ObjectName CompilationMXBean
java.lang:type=Compilation
Java 仮想マシンは、次の管理インタフェースのインスタンスを 1 つ以上持つことができます。
管理インタフェース ObjectName 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 のプロパティーを処理しない。
connection
- 転送先となる MBeanServerConnection。mxbeanName
- 転送先の connection 内のプラットフォーム MXBean 名。mxbeanName は ObjectName
の形式でなければならない。mxbeanInterface
- プロキシによって実装される MXBean インタフェース。IllegalArgumentException
- 次の場合
ObjectName
の形式でない、またはIOException
- MBeanServerConnection へのアクセス時に通信に関する問題が発生した場合。public static <T extends PlatformManagedObject> T getPlatformMXBean(Class<T> mxbeanInterface)
mxbeanInterface
を実装したプラットフォーム MXBean を返します。Java 仮想マシン内に管理インタフェースが実装されていない場合 (たとえば、コンパイルシステムを持たない Java 仮想マシンには CompilationMXBean
が実装されていません)、このメソッドは null
を返します。それ以外の場合は、次を呼び出すのと同等です。
getPlatformMXBeans(mxbeanInterface)
.get(0);
mxbeanInterface
- Java 仮想マシン内で単一のインスタンスを持つプラットフォーム MXBean の管理インタフェース (実装されている場合)。mxbeanInterface
を実装するプラットフォーム MXBean。存在しない場合は null
。IllegalArgumentException
- mxbeanInterface
がプラットフォーム管理インタフェースでないか、シングルトンのプラットフォーム MXBean でない場合。public static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(Class<T> mxbeanInterface)
mxbeanInterface
を実装したプラットフォーム MXBean のリストを返します。返されたリストには、ゼロ個以上のインスタンスが含まれる可能性があります。返されるリスト内のインスタンス数は、指定された管理インタフェースの仕様で定義されています。順序は未定義であり、返されるリストが以前の呼び出し時と同じ順序になっているという保証はありません。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);
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 プロキシのリストを返します。返されたリストには、ゼロ個以上のインスタンスが含まれる可能性があります。返されるリスト内のインスタンス数は、指定された管理インタフェースの仕様で定義されています。順序は未定義であり、返されるリストが以前の呼び出し時と同じ順序になっているという保証はありません。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, 2013, Oracle and/or its affiliates. All rights reserved.