|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照先:
説明
インタフェースの概要 | |
---|---|
ClassLoadingMXBean | Java 仮想マシンのクラスローディングシステムの管理インタフェースです。 |
CompilationMXBean | Java 仮想マシンのコンパイルシステムの管理インタフェースです。 |
GarbageCollectorMXBean | Java 仮想マシンのガベージコレクションの管理インタフェースです。 |
MemoryManagerMXBean | メモリマネージャの管理インタフェース。 |
MemoryMXBean | Java 仮想マシンのメモリシステムの管理インタフェースです。 |
MemoryPoolMXBean | メモリプールの管理インタフェースです。 |
OperatingSystemMXBean | Java 仮想マシンを実行しているオペレーティングシステムの管理インタフェースを返します。 |
RuntimeMXBean | Java 仮想マシンの実行時システムの管理インタフェースです。 |
ThreadMXBean | Java 仮想マシンのスレッドシステムの管理インタフェースです。 |
クラスの概要 | |
---|---|
ManagementFactory | ManagementFactory クラスは、Java プラットフォームの管理ビーンを取得するためのファクトリクラスです。 |
ManagementPermission | SecurityManager によって実行されるコードが Java プラットフォームの管理インタフェースで定義されたメソッドを呼び出すときに、SecurityManager がチェックするアクセス権です。 |
MemoryNotificationInfo | メモリ通知に関する情報です。 |
MemoryUsage | MemoryUsage オブジェクトは、メモリ使用量のスナップショットを表します。 |
ThreadInfo | スレッド情報です。 |
列挙型の概要 | |
---|---|
MemoryType | メモリプール の型です。 |
Java 仮想マシンの管理および Java 仮想マシンが実行されているオペレーティングシステムの管理を監視する管理インタフェースを提供します。この管理インタフェースを使用すると、実行している Java 仮想マシンをローカルおよびリモートに監視および管理できます。
管理インタフェース
説明
ClassLoadingMXBean
Java 仮想マシンのクラスローディングシステム CompilationMXBean
Java 仮想マシンのコンパイルシステム MemoryMXBean
Java 仮想マシンのメモリシステム ThreadMXBean
Java 仮想マシンのスレッドシステム RuntimeMXBean
Java 仮想マシンの実行時システム OperatingSystemMXBean
Java 仮想マシンを実行しているオペレーティングシステム GarbageCollectorMXBean
Java 仮想マシンのガベージコレクタ MemoryManagerMXBean
Java 仮想マシンのメモリマネージャ MemoryPoolMXBean
Java 仮想マシンのメモリプール
プラットフォーム MXBean は、そのプラットフォームの単一のコンポーネントのための管理インタフェースを定義する「管理ビーン」であり、ManagementFactory クラスで指定されます。
アプリケーションは Java 仮想マシンのインストゥルメンテーションを監視し、次の方法で特定の特性を管理できます。
ManagementFactory.newPlatformMXBeanProxy
を呼び出すことで、指定された MBeanServer
にメソッド呼び出しを転送する MXBean プロキシインスタンスを構築する。プロキシは通常、実行中のほかの仮想マシンの MXBean にリモートアクセスするために構築されるMBeanServer
インタフェースを介した間接アクセス platform MBeanServer
で MXBean にローカルアクセスするか、または特定の MBeanServerConnection で MXBean にリモートアクセスする。MXBean の属性とオペレーションは、OpenType
に定義された基本データ型、CompositeData
、および TabularData
を含む「JMX 公開型」だけを使用するManagementFactory
クラスは、Java プラットフォームの管理ファクトリクラスです。このクラスは Java プラットフォームの MXBean を取得する一組の static ファクトリメソッドを提供し、アプリケーションは MBXean に直接アクセスできるようになります。
「プラットフォーム MBeanServer」には、
getPlatformMBeanServer
メソッドでアクセスできます。このメソッドへの最初の呼び出しで、プラットフォーム MBeanServer を作成し、
LoggingMXBean
などのほかのパッケージで定義されたプラットフォーム MXBean を含むすべてのプラットフォーム MXBean を登録します。各プラットフォーム MXBean は、ObjectName
を構築している
ManagementFactory
クラスで定義された一意の名前で登録されます。これは、同じ Java 仮想マシン内で実行されている異なる管理コンポーネントで共有できる 単一の MBeanServer です。
open types
であり、これによってバージョン間の相互運用が可能です。
ManagementFactory
クラスで指定されます。
RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean(); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor();
MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ... try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME); // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor"); } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer.getAttribute method ... }
MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MBeans registered in it ... // Get a MBean proxy for RuntimeMXBean interface RuntimeMXBean proxy = ManagementFactory.newPlatformMXBeanProxy(mbs, ManagementFactory.RUNTIME_MXBEAN_NAME, RuntimeMXBean.class); // Get standard attribute "VmVendor" String vendor = proxy.getVmVendor();
ベンダーの名前などベンダー固有の接頭辞を使ってプラットフォーム固有の属性に名前を付けて、標準管理インタフェースの将来の拡張と、このプラットフォーム拡張の間で属性の名前の衝突が発生しないようにすることをお勧めします。標準管理インタフェースに対する将来の拡張が、管理インタフェースの新しい属性を定義し、属性名がベンダー固有の属性の名前と同じことがわかった場合、バージョニングと互換性の問題に対処するために、ベンダー固有の属性にアクセスしているアプリケーションを変更する必要があります。
以下の例では、Sun の RuntimeMXBean の実装からプラットフォーム固有の属性にアクセスする方法を示しています。
1) Sun 固有の MXBean インタフェースへの直接アクセス
com.sun.management.RuntimeMXBean mxbean = (com.sun.management.RuntimeMXBean) ManagementFactory.getRuntimeMXBean(); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor(); // Get the platform-specific attribute "Bar" BarType bar = mxbean.getBar();
2) Sun 固有の MXBean インタフェースへの MBeanServer を介したアクセス
MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ... try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME); // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor"); // Check if this MXBean contains Sun's extension if (mbs.isInstanceOf(oname, "com.sun.management.RuntimeMXBean")) { // Get platform-specific attribute "Bar" BarType bar = (String) mbs.getAttribute(oname, "Bar"); } } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer methods ... }
ほかで指定がない場合、このパッケージの任意のクラスまたはインタフェースのコンストラクタメソッドに null 引数を渡すと、NullPointerException
がスローされます
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。