(Translated by https://www.hiragana.jp/)
Java Management Extensions - Wikipedia コンテンツにスキップ

Java Management Extensions

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Java Management ExtensionsJMX)は、アプリケーションソフトウェア/システムオブジェクト/デバイス(プリンターなど)/サービス指向しこうネットワークなどの監視かんし管理かんりのためのツールを提供ていきょうするJavaプラットフォーム技術ぎじゅつ一種いっしゅ。これらのリソースはManaged Bean (MBean) とばれるオブジェクトで表現ひょうげんされる。このAPI面白おもしろ特徴とくちょうとして、クラスぐん動的どうてきにロードしてインスタンスできる。

JMX 1.0、1.1、1.2はJava Community ProcessJSR 3定義ていぎされた。JMX 2.0はJSR 255として開発かいはつされてきたが、2016ねん中止ちゅうしされた[1]遠隔えんかく管理かんり監視かんしのためのJMX Remote API 1.0はJSR 160規定きていされた。WebサービスのためのJMX Remote API拡張かくちょうは JSR 262開発かいはつちゅうである。

当初とうしょ、Java EE(げんJakarta EE)にれられたが、JMXはJava SEのバージョン5.0以降いこうにもまれている。なお「JMX」 はオラクル商標しょうひょうである。

Managed Bean

[編集へんしゅう]

Managed Bean(しばしばりゃくしてMBeanとぶ)はJavaBeans一種いっしゅであり、依存いぞんせい注入ちゅうにゅうによりつくられている。MBeanはとくにJava Management Extensions技術ぎじゅつもちいられている。しかし、Java EE 6仕様しようではMBeanにより詳細しょうさい意味いみあたえている。

MBeanはJava Virtual Machineうえはしるリソース(アプリケーションやJakarta EE技術ぎじゅつサービス(トランザクション・モニタやJDBCドライバなど))との連絡れんらく窓口まどぐち役割やくわりたす。MBeanは関心かんしんのある統計とうけい数値すうち(パフォーマンス、リソース使用しようりょう問題もんだいなど)を収集しゅうしゅうすること(プル)、アプリケーションの設定せってい取得しゅとくまたは設定せっていすること(プッシュ/プル)、および障害しょうがい状態じょうたい変化へんかなどのイベントを通知つうちすること(プッシュ)に使つかえる。

Java EE 6仕様しようでは、MBeanはJavaクラスで実装じっそうされたBeanであるとしており、Beanクラスとばれる。なんらかのJakarta EE 技術ぎじゅつ仕様しよう(たとえばJavaServer Faces技術ぎじゅつ仕様しよう)でManaged Beanであると定義ていぎされたトップレベルJavaクラス、あるいはつぎ条件じょうけんをすべてたすトップレベルJavaクラスであれば、それはManaged Beanである。

  1. staticな内部ないぶクラス(inner class)ではないこと
  2. 具象ぐしょうクラスであるか、または@Decoratorアノーテーションされていること
  3. EJBコンポーネント定義ていぎアノーテーションでアノーテーションされていないか、またはejb-jar.xmlないでEJB beanクラスとして宣言せんげんされていること

アノーテーションのような特殊とくしゅ宣言せんげんは、Managed Beanを定義ていぎするために必須ひっすなものではない。

MBeanはその内部ないぶてきな(属性ぞくせいの)変化へんかjavax.management.NotificationEmitter実装じっそうすることによりMBeanServerに通知つうちできる。MBeanの変化へんか関心かんしんのあるアプリケーションは、リスナー (javax.management.NotificationListener) をMBeanServerに登録とうろくする。 JMXはリスナーぐんすべての通知つうちれることは保証ほしょうしないことに留意りゅういされたい。

アーキテクチャ

[編集へんしゅう]

JMXは以下いかの3階層かいそうアーキテクチャにもとづいている:

  • Probe レベル(Instrumentationレベルともぶ) : プローブ (MBean) によりリソースの状態じょうたい監視かんし測定そくていする。
  • Agent レベル (MBeanServerともぶ): JMXの中核ちゅうかくである。MBeanとアプリケーションの仲介ちゅうかいおこなう。
  • Remote Management レベル : 遠隔えんかくのアプリケーションが Connector や Adaptor をとおして MBeanServerにアクセスできるようにする。Connector は各種かくしゅ通信つうしんフレームワーク(Java RMIIIOPJMSWS-*など)を使つかってMBeanServer APIへの完全かんぜんなリモートアクセスを提供ていきょうする。AdaptorはそのAPIをのプロトコル(SNMPなど)に接続せつぞくしたり、WebベースのGUIHTML/HTTPWML/HTTPなど)に接続せつぞくしたりする。

アプリケーションとしては、汎用はんようのコンソール(JConsoleMC4J など)でもよいし、ドメイン固有こゆうの(監視かんし)アプリケーションでもよい。

サポート

[編集へんしゅう]

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

外部がいぶリンク

[編集へんしゅう]