NetBeans IDEでのJMXモニタリングの開始

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

NetBeans JMXモジュールは、JMXテクノロジを直接、NetBeans IDEの対象ワークフローに統合します。このモジュールを使用すると、管理アプリケーションの迅速な開発、既存アプリケーションへの管理の追加、マネージャ・アプリケーションの開発、仮想マシンの状態のモニターが可能になります。

このドキュメントは、NetBeans IDE 6.5以降を対象とする、JDK 6またはJDK 7の最上部で実行中のJMXウィザード・モジュール・バージョン3.0のために更新されています。JMXモジュールは更新センターからダウンロードできます。

注意: このドキュメントはNetBeans IDE用のJMXモジュールの簡単な概要を示しています。より詳しい情報については、JMXモジュール・チュートリアルのJavaアプリケーションへのJMXインストゥルメントの追加を参照してください。

この開始ドキュメントでは、次のようなJMXモジュール機能の概要を示します。

netbeans stamp 80 74 73
Figure 1. このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます
  • JMX MBeansおよびマネージャを作成するためのウィザード。

  • 属性および操作を追加し、 MBeanRegistration インタフェースまたは NotificationEmitter インタフェースを実装することで、既存のMBeansを更新するアクション。

  • 既存のJavaクラスからのMBeanの生成。

  • MBeansをJavaプラットフォームMBeanサーバー内に登録するアクション。

  • Javaプラットフォーム管理コンソール(JConsole)を起動する機能。

  • JConsoleを使用してアプリケーションを実行およびデバッグする機能。

  • JMX機能のアプリケーションへの追加方法を示すAnagramゲームに基づくサンプル・アプリケーション。

  • セキュアで管理可能なJVMの起動を可能にする、管理プロパティ・ファイルを生成するウィザード。

  • オンライン・ヘルプ。

  • netbeans.orgサイトからアクセス可能なチュートリアル。

前提条件

このチュートリアルは、次のテクノロジについて基本的な知識またはプログラミング経験を持つ読者を想定して書かれています。

Javaプラットフォームのモニタリングおよび管理の内容が参考になる場合もあります。

チュートリアルに必要なソフトウェア

このチュートリアルでは、コンピュータに次のソフトウェアをインストールしておく必要があります。

ソフトウェアまたはリソース 必須バージョン

NetBeans IDE

7.2、7.3、7.4、8.0、Javaバンドル

Java Development Kit (JDK)

バージョン7または8

JMXプラグイン

NetBeans更新センターから入手可能

JConsoleプラグイン

NetBeans更新センターから入手可能

*JMX*および*JConsole*プラグインをインストールするには、「ツール」>「プラグイン」を選択してNetBeans更新センターからモジュールをダウンロードします。

JMXウィザードへのアクセス

JMXプラグインをインストールし、プロジェクトが開いたら、「ファイル」>「新規ファイル」([Ctrl]+[N])を選択してJMXカテゴリを選択するとJMXウィザードにアクセスできます。次の中から選択できます。

  • *管理構成ファイル。*JMX管理、特にリモート接続およびセキュリティのための構成を格納する標準のJavaプロパティ・ファイル。

  • *各種のJMX MBeansタイプ。*MBeanは、管理対象となるデバイス、アプリケーションまたは任意のリソースを表示できます。MBeansは管理インタフェース、つまり読取りまたは書込み(あるいはその両方が)可能な一連の属性と、起動可能な一連の操作を、各説明とともに公開します。管理インタフェースは、MBeanインスタンスのライフサイクルを通して変更されません。MBeansは、特定の定義済イベントが発生したときに通知も送信できます。JMX MBeansはMBeanサーバー内に登録する必要があります。

  • *JMXマネージャ。*JMXマネージャは、リモートJMX MBeanサーバーに接続する任意のアプリケーションです。

jmx newfile
Figure 2. JMXカテゴリの新規ファイル・ウィザード

MBeansの更新

ダイアログ・ボックスをポップアップするJMXコンテキスト・メニューのアクションで、MBeansに属性と操作を追加できます。MBeansで NotificationEmitter インタフェースを実装することもできます。

MBeanを更新するには、「プロジェクト」ツリーでMBeanクラスJavaファイルを選択し、ノードを右クリックしてJMXポップアップ・メニューにアクセスするか、単純にMBeanクラスJavaファイルが開かれているエディタ・ウィンドウ内を右クリックして、JMXポップアップ・メニューにアクセスします。

このアクションのデモは、JavaアプリケーションへのJMXインストゥルメントの追加チュートリアルのエクササイズ3で示されています。

MBeansの登録

MBeansにリモート接続してアプリケーションを管理するには、MBeansをMBeanサーバー内に登録する必要があります。

MBeanサーバーは、JMXテクノロジの中心的な部分です。このサーバーは、登録されたすべてのMBeanの参照を保持し、新しいMBeanの登録または削除の通知を送信し、登録されたMBeansの属性と操作を公開するためのリモート接続を受け入れることができます。MBeanサーバーの役割について詳しくない場合は、 javax.management.MBeanServer APIのドキュメントを参照してください。

JDK 5から、JavaプラットフォームはデフォルトのMBeanサーバーである、プラットフォームMBeanサーバーを提供するようになりました。これによってJVMのモニターが可能になり、独自のMBeansの登録にも使用できます。JavaプラットフォームMBeanサーバーの詳細は、 java.lang.management.ManagementFactory APIのドキュメントを参照してください。

ロジックに応じて、通常はメイン・クラスの初期化フェーズで、アプリケーション・コード内でMBeansを登録する場所を決定します。エディタ・ウィンドウ内でMBeanの登録コードを生成する場所を右クリックして、JMXサブメニューを選択してから「MBean登録を生成…​」アクションを選択します。

このアクションのデモは、JavaアプリケーションへのJMXインストゥルメントの追加チュートリアルのエクササイズ5で示されています。

管理可能なアプリケーションの実装および実行

JConsoleは、Java仮想マシンをモニタリングするためのJMX準拠のグラフィカル・ツールです。JConsoleは、ローカルおよびリモートのJVMの両方をモニターすることが可能で、JMXアプリケーションのモニターおよび管理に使用できます。

一般的に、管理可能なアプリケーションの実装および実行のワークフローは次のようになります。

  1. MBeansを生成します。

  2. MBeansに実装を追加します。

  3. MBeanの登録コードを生成します。

  4. JConsoleを使用してプロジェクトを実行またはデバッグします。

JMXおよびJConsoleプラグインをインストールした後は、次のボタンがツールバーに追加されます。このアクションは、メイン・メニューの「デバッグ」メニュー項目下でもアクセスできます。

ボタン 説明

run project24

モニタリングおよび管理によるメイン・プロジェクトの実行

debug project24

モニタリングおよび管理によるメイン・プロジェクトのデバッグ

console24

JConsole管理コンソールの起動

*注意:*JConsoleは、Javaプラットフォームの一部であり、IDEから独立して使用できます。詳細は、次のリソースを参照してください。

サンプル・アプリケーションの実行

JMXモジュールには、JMXモニタリングが組み込まれたサンプル・アプリケーションが含まれます。

  1. 「ファイル」>「新規プロジェクト」を選択します。

  2. 「サンプル」でJMXカテゴリを選択します。

  3. JMXで管理されたアナグラム・ゲーム・プロジェクトを選択します。

jmx newproject
Figure 3. 新規プロジェクト・ウィザードのJMXで管理されたアナグラム・ゲーム
  1. 「次」をクリックします。指定されているデフォルトのプロジェクト名や場所の値を変更する必要はありません。「メイン・プロジェクトとして設定」チェックボックスが選択されていることを確認します。「終了」をクリックします。

*注意:*JUnitプラグインを以前にインストールしていない場合、JUnitライブラリのインストールを求めるメッセージが表示されることがあります。「リソースの問題を解決」ダイアログ・ボックスで「解決」をクリックしてインストーラを起動し、JUnitプラグインをインストールできます。プラグイン・マネージャでJUnitプラグインをインストールすることもできます。

  1. プロジェクトを作成し、メイン・プロジェクトとして設定したら、モニタリングおよび管理によるメイン・プロジェクトの実行のJConsoleボタンをクリックして、JConsoleで実行します。

*注意:*コンソールからアナグラム・ゲーム・プロセスに接続しようとすると、Java Monitoring & Management Consoleに「接続に失敗しました。」という警告が表示されることがあります。このチュートリアルでは、接続の認証を求めるメッセージが表示されたら、「非セキュア」をクリックできます。

このボタンをクリックすると、アナグラム・ゲームが起動されて表示されます。

jmx anagram
Figure 4. アナグラム・ゲーム

JConsoleウィンドウも表示されます。

  1. JConsoleウィンドウで、「MBeans」タブを選択して、次に示すように、左側のツリー・レイアウトで anagrams.toy.com の下のすべてのノードを展開します。

jmx jconsole1
Figure 5. JConsoleウィンドウ
  1. 「通知」ノードを選択し、下にある「サブスクライブ」ボタンをクリックして、アナグラムが解決されるたびにJConsoleが新規通知を受け取れるようにします。

  2. 「アナグラム・ゲーム」ウィンドウに移動し、最初の3つか4つのアナグラムを解きます(解答はWordLibraryクラス内にありますが、次のとおりです: abstraction、ambiguous、arithmetic、backslash、…​)

  3. JConsoleに戻り、4つの通知を受信したことを確認します。

  4. 「属性」ノードをクリックし、属性値が更新されていることを確認します。

jmx jconsole2
Figure 6. 更新された値を示すJConsoleウィンドウ

関連項目

このドキュメントではNetBeans IDE用のJMXモジュールの簡単な概要を示しました。より詳しい情報については、次のJMXモジュール・チュートリアルを参照してください。