TOP設計・移行・活用> JMXのメリット
オープンソースJ2EE APサーバ JBossの可能性
オープンソースJ2EE APサーバ JBossの可能性

第3回:JBossのアーキテクチャ
著者:ダイテックC&D  高橋 康弘   2005/5/13
前のページ  1  2   3  4  次のページ
JMXのメリット

   JMXを利用すると以下のようなメリットがあります。
  1. 標準仕様に準じた形でコンポーネント単位の各種管理が行える
  2. コンポーネント単位での機能の追加・変更・削除(停止)が実行時に行える
  3. コンポーネント間の結合を疎にすることができる

   上記1および2については、前回の連載でも少し触れた「JMXコンソール」を参照することで確認できます。JMXコンソールを操作しながら説明をしていきます。$JBOSS_HOME\binディレクトリ内のrunスクリプトを実行してJBossを起動してください。「http://localhost:8080/jmx-console/」へアクセスすると、JMXコンソールが表示されるはずです。

JMXコンソールの画面
図2:JMXコンソールの画面


   上図のような画面が表示されたと思います。ここに青色でリンク表示された一つひとつ、例えば「type=Server」「name=Default,service=LoaderRepository」「type=MBeanRegistry」などが、JBoss APサーバ上で稼働している(より正確にはJBossカーネルに登録されている)JMXコンポーネントになります。

   このJMXコンポーネントのことをMBean(エムビーン)と呼びます。黒い文字で表示されている「Catalina」や「JMImplementation」は"ドメイン名"と呼ばれ、「type=Server」や「name=Default,service=LoaderRepository」と併せて、MBeanの名前となります。

   JMXコンソール自体はJBoss用に開発されたひとつのアプリケーションですが、JMX仕様に準拠したコンポーネント(MBean)を作成すれば、特別な実装を行わなくてもこのようにJMXコンソールに情報が表示されるようになります。

   それでは次にリンクをクリックして中の様子を見てみたいと思います。どのコンポーネントでも基本的な表示内容は同じですが、ここでは一番上のCatalinaドメインの「type=Server」コンポーネントへのリンクをクリックしてみましょう。

MBeanの詳細情報
図3:MBeanの詳細情報
(画像をクリックすると別ウィンドウに拡大図を表示します)


   上図のような画面から各種設定の変更や、現在の状態の確認がアプリケーションの実行時に行えます。画面上部の「List of MBean attributes:」とタイトルのあるテーブル部分はMBeanの属性(アトリビュート)を表示しています。

   属性とは、クラス内部の変数値に相当するものです。ここでは値の参照だけでなく、属性値を変更することもできます。テキストボックスの値を編集して「Apply Changes」ボタンをクリックしてください。MBeanの属性値が変更されるのが画面で確認できます。ただし、属性値が変更されたからといって動作に変更があるかどうかは、MBean内部の動作ロジック次第なので実装に依存します。

   次に、「操作(オペレーション)」を実行させてみましょう。「List of MBean operations:」と書かれている部分以降に列挙されているのが、MBeanコンポーネントが外部に対して公開している操作になります。クラスのパブリックメソッドと同じようなイメージになります。引数を取るオペレーションもあります。ただし、引数の型が文字列や数値以外のクラスであったりバイナリの場合はうまく動作しませんので気をつけてください。

   いろいろ実験をしてみてJBossの動作がおかしくなった場合は、JBossを再起動してください。元の設定に戻ります。

前のページ  1  2   3  4  次のページ


株式会社ダイテックC&D
著者プロフィール
株式会社ダイテックC&D  高橋 康弘
入社以来Windowsを中心としたアプリケーション開発に従事。2000年頃からJavaを扱うようになり、2年ほど前からオープンソースを利用したシステム開発を開始。最近はJBoss+オープンソースの組み合わせでWEBアプリケーション開発に携わることが多い。
資格:JBoss認定コンサルタント


INDEX
第3回:JBossのアーキテクチャ
  JBossの基本的なアーキテクチャ
JMXのメリット
  3つめのメリット
  ユニファイドクラスローダ