Java Management Extensions
表示
Java Management Extensions(JMX)は、アプリケーションソフトウェア/システムオブジェクト/デバイス(プリンターなど)/サービス指向ネットワークなどの監視・管理のためのツールを提供するJavaプラットフォーム技術の一種。これらのリソースは MBean(Managed Bean)と呼ばれるオブジェクトで表現される。このAPIの面白い特徴として、クラス群を動的にロードしてインスタンス化できる。
JMX 1.0、1.1、1.2 は Java Community Process の JSR 3 で定義された。2006年、JMX 2.0 が JSR 255 として開発中である。遠隔管理・監視のための JMX Remote API 1.0 は JSR 160 で規定された。Webサービスのための JMX Remote API 拡張は JSR 262 で開発中である。
当初、J2EE に受け入れられたが、JMX は Java SE にも組み込まれている(5.0から)。
JMX はサン・マイクロシステムズの商標である。
アーキテクチャ
JMX は以下の3階層アーキテクチャに基づいている:
- Probe レベル : プローブ(MBean)によりリソースと直接やり取りする。Instrumentationレベルとも呼ぶ。
- Agent レベル : MBeanServer が JMX の中核となる。MBean とアプリケーションの仲介を行う。
- Remote Management レベル : 遠隔のアプリケーションが Connector と Adaptor を通して MBeanServer にアクセスできるようにする。Connector は各種通信フレームワーク(Java RMI、IIOP、JMS、WS-*など)を使って MBeanServer API への完全なリモートアクセスを提供する。Adoptor はそのAPIを他のプロトコル(SNMPなど)に接続したり、WebベースのGUI(HTML/HTTP、WML/HTTPなど)に接続したりする。
アプリケーションとしては、汎用のコンソール(JConsole や MC4J など)でもよいし、ドメイン固有の(監視)アプリケーションでもよい。
サポート
JMX のサポート状況はベンダーによって様々である:
- Java アプリケーションサーバ(JBoss、JOnAS、WebSphere Application Server、BEA WebLogic Server、Sun Java System Application Serverなど)は JMX をサポートしている。
- システム管理ツールとして JMX をサポートしているものには HP OpenView などがある。
- MX4J はオープンソースの JMX 実装である。
- JManage はオープンソースの JMX コンソールであり、Webインタフェースとコマンド行インタフェースがある。
- MC4J はオープンソースのJMXコンソールである。
関連項目
参考文献
- J. Steven Perry: Java Management Extensions, O'Reilly, ISBN 0-596-00245-9
- Marc Fleury, Juha Lindfors: JMX: Managing J2EE with Java Management Extensions, Sams Publishing, ISBN 0-672-32288-9
- Jeff Hanson: Connecting JMX Clients and Servers: Understanding the Java Management Extensions, APress L. P., ISBN 1-59059-101-1
- Benjamin G Sullins, Mark B Whipple : JMX in Action: You will also get your first JMX application up and running, Manning Publications Co. 2002, ISBN 1-930110-56-1
外部リンク
- JMX on java.sun.com
- JMX at JBoss.com
- JSR 255 (JMX 2.0)
- JSR 3 (JMX 1.0, 1.1, and 1.2)
- JMX/JBoss - マイクロカーネル設計
- JMXを使用する監視と管理
- J2SE 5.0 虎の穴 JMX 基礎編