|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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 MemoryUsage
Verbose boolean 型
ObjectName
を持ちます。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 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 つ以上のメモリーマネージャーを持つことができます。Java 仮想マシンは、実行中にメモリーマネージャーを追加または削除できます。
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 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。