|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.management.ManagementFactory
public class ManagementFactory
ManagementFactory クラスは、Java プラットフォームの管理対象 Bean を取得するためのファクトリクラスです。このクラスは、Java 仮想マシンのコンポーネントの管理インタフェースを表す 1 つ以上のプラットフォーム MXBean を返す static メソッドで構成されます。
アプリケーションは、次の方法でプラットフォーム MXBean にアクセスできます。
newPlatfromMXBeanProxy を呼び出すことで、指定された MBeanServer にメソッド呼び出しを転送する MXBean プロキシインスタンスを構築する。プロキシは通常、実行中のほかの仮想マシンの MXBean にリモートアクセスするために構築される
platform MBeanServer で MXBean にローカルアクセスするか、または特定の MBeanServerConnection で MXBean にリモートアクセスする。MXBean の属性とオペレーションは、OpenType に定義された基本データ型、CompositeData、および TabularData を含む「JMX 公開型」だけを使用するマッピングは次に示す
プラットフォーム MXBean インタフェースでは、次のデータ型だけが使用されます。
Integer、Long、Boolean、String などのプリミティブ型のラッパークラスEnum クラスCompositeData 引数を使用して、getter メソッドおよび static メソッドのみを定義するクラス
List<E> (E はプリミティブ型、ラッパークラス、列挙クラス、または CompositeData からそのクラスへの変換をサポートするクラス)
Map<K,V> (K と V はプリミティブ型、ラッパークラス、列挙クラス、または CompositeData からそのクラスへの変換をサポートするクラス)
プラットフォーム MXBean の属性またはオペレーションへのアクセスが MBeanServer を介して行われる場合、データ型は次のとおりマッピングされます。
Enum は列挙定数名を値として持つ String にマッピングされる
CompositeData 引数を使用して getter メソッドおよび static メソッドのみを定義するクラスは、CompositeData にマッピングされる。
CompositeType という行の型を持つ TabularData にマッピングされる。 項目型はそれぞれ K と V の対応するマップ型であり、「key」がインデックスになる。
MBeanInfo は、上記のとおりマッピングされたプリミティブ型または公開型として、属性およびオペレーションのデータ型を記述します。
たとえば、MemoryMXBean インタフェースは、次の getter メソッドと setter メソッドを持ちます。
MemoryMXBean の MBeanInfo の属性は、次の名前と型を持ちます。public MemoryUsage getHeapMemoryUsage(); public boolean isVerbose(); public void setVerbose(boolean value);
属性名 型 HeapMemoryUsage CompositeData representing MemoryUsageVerbose boolean
ObjectName を持ちます。Java 仮想マシンは次の管理インタフェースの単一のインスタンスを持ちます。
Java 仮想マシンは、次の管理インタフェースのインスタンスを持たないか、単一のインスタンスを持ちます。
管理インタフェース ObjectName CompilationMXBeanjava.lang:type=Compilation
Java 仮想マシンは、次の管理インタフェースのインスタンスを 1 つ以上持つことができます。
管理インタフェース ObjectName GarbageCollectorMXBeanjava.lang:type=GarbageCollector,name=collector's nameMemoryManagerMXBeanjava.lang:type=MemoryManager,name=manager's nameMemoryPoolMXBeanjava.lang:type=MemoryPool,name=pool's name
LoggingMXBean,
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 MBeanServer |
getPlatformMBeanServer()
プラットフォーム MBeanServer を返します。 |
|
static RuntimeMXBean |
getRuntimeMXBean()
Java 仮想マシンの実行システムの管理ビーンを返します。 |
|
static ThreadMXBean |
getThreadMXBean()
Java 仮想マシンのスレッドシステムの管理ビーンを返します。 |
|
static
|
newPlatformMXBeanProxy(MBeanServerConnection connection,
String mxbeanName,
Class<T> mxbeanInterface)
指定された MBeanServerConnection を介してメソッド呼び出しを転送する、指定された MXBean 名の プラットフォーム MXBean インタフェースのプロキシを返します。 |
|
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
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 仮想マシンがコンパイルシステムを持たない場合は nullpublic 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 を作成し、クラスの記述で定義された MXBean 名を使って、このプラットフォーム MBeanServer にプラットフォーム MXBean を登録します。以降の呼び出しでは、このメソッドは、初期に作成されたプラットフォーム MBeanServer を返します。
MXBean は動的に作成され、破棄されます。 たとえば、メモリー pools および managers は、プラットフォーム MBeanServer に自動的に登録および登録解除されます。
システムプロパティー javax.management.builder.initial が設定されていると、プラットフォーム MBeanServer の作成は、指定された MBeanServerBuilder により実行されます。
プラットフォーム MXBean に加えて、ほかのアプリケーションの管理ビーンの登録にも、このプラットフォーム MBeanServer を使うことをお勧めします。これにより、すべての MBean は同じ MBeanServer を通じて発行され、特にネットワークパブリッシングと検出が容易になります。プラットフォーム MXBean との名前の重複を避ける必要があります。
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 - 転送先の MBeanServerConnectionmxbeanName - 転送先の connection 内のプラットフォーム MXBean 名。mxbeanName の書式は ObjectName でなければならないmxbeanInterface - プロキシによって実装される MXBean インタフェース
IllegalArgumentException - ObjectName の書式でないIOException - MBeanServerConnection へのアクセス時に通信に関する問題が発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。