ナビゲーションをスキップ

JMX によるカスタム管理ユーティリティの開発

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

概要とロードマップ

サードパーティ製の管理システムを WebLogic Server 管理システムと統合するために、WebLogic Server には標準ベースのインタフェースが用意されています。これらのインタフェースは、Java Management Extensions (JMX) 仕様に完全に準拠しています。ソフトウェア ベンダはこれらのインタフェースを使用して、WebLogic Server MBean をモニタし、WebLogic Server ドメインのコンフィグレーションを変更し、ドメイン内のすべてのサーバ インスタンスに対するこれらの変更の配布 (アクティブ化) をモニタすることができます。JMX クライアントは BEA 独自のクラスを使用しなくても、すべての WebLogic Server 管理機能を実行できますが、リモート JMX クライアントでは WebLogic Server プロトコル (T3 など) を使用して WebLogic Server インスタンスに接続することをお勧めします。

このマニュアルでは、WebLogic Server リソースをモニタおよび変更する JMX クライアントの作成について説明します。

以下の節では、このマニュアル『JMX によるカスタム管理ユーティリティの開発』の内容と構成について説明します。

 


マニュアルの内容と対象読者

このマニュアルは、JMX 互換管理システムを開発するソフトウェア ベンダを対象としています。また、WebLogic Server® を評価するビジネス アナリストや、特定のアプリケーションで JMX の使用を考えているシステム設計者にとって便利な情報も掲載されています。

このマニュアルは、J2EE および一般的なアプリケーション管理の概念に精通している読者を対象としています。このマニュアルでは、限定的でありながら有用な一連の JMX 管理サービスを開発するための実践的な方法を重点的に扱います。JMX をより広範な管理上の問題に適用するには、「関連ドキュメント」に挙げる JMX 仕様などのドキュメントを参照してください。

 


このマニュアルの手引き

 


関連ドキュメント

「Sun Developer Network」には、JMX に関する書籍、ホワイトペーパー、および詳細情報へのリンクが掲載された Web サイト (http://java.sun.com/products/JavaManagement/) があります。

JMX 1.2 仕様を参照する場合は、http://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html からダウンロードしてください。

JMX リモート API 1.0 仕様を参照する場合は、http://jcp.org/aboutJava/communityprocess/final/jsr160/index.html からダウンロードしてください。

javax.management* パッケージの API リファレンスは、http://java.sun.com/j2se/1.5.0/docs/api/overview-summary.html で参照できます。

WebLogic Server アプリケーション用に他のタイプの管理サービスを開発するためのガイドラインについては、以下のマニュアルを参照してください。

WebLogic Server アプリケーションを開発およびチューニングするためのガイドラインについては、以下のマニュアルを参照してください。

 


このリリースでの JMX の新機能と変更点

リリース 9.0 では、WebLogic Server JMX 実装に、以下のようないくつかの重要な変更点が導入されています。

JMX 1.2 および JMX リモート API 1.0 (JSR-160)

WebLogic Server 9.0 では、JDK 1.5 に含まれている Java Management Extensions (JMX) 1.2 実装が使用されています。9.0 より前のリリースでは、JMX 1.0 仕様をベースにした独自の JMX 実装が使用されていました。

また 9.0 では、リモート JMX クライアントは標準の JMX リモート API 1.0 (JSR-160) を使用して、WebLogic Server の JMX エージェントに接続できます (http://jcp.org/en/jsr/detail?id=160 を参照してください)。9.0 より前のリリースでは、JMX リモート API が公開されておらず、リモート JMX クライアントは BEA 独自の API を使用して WebLogic Server に接続しなければなりませんでした。

非推奨になった MBeanHome および型保障インタフェース

JMX リモート API (JSR-160) が公開されて、リモート JMX アクセスのための BEA 独自の API weblogic.management.MBeanHome は必要がなくなったため、非推奨になっています。

MBeanHome API では、JMX レイヤに対して、WebLogic Server MBean との対話に使用できる型付き API レイヤも提供できました。使用する JMX アプリケーション クラスでは、WebLogic Server MBean の型保障インタフェースをインポートしたり、weblogic.management.MBeanHome インタフェースを介して MBean への参照を取得したり、MBean メソッドを直接呼び出したりすることができました。

9.0 以降、型付き API レイヤも非推奨になりました。この API のようなプログラミング モデルを使用する代わりに、すべての JMX アプリケーションで、標準の JMX プログラミング モデルを使用してください。標準の JMX 設計パターンでは、クライアントは javax.management.MBeanServerConnection インタフェースを使用して、実行時に MBean、属性、および属性タイプを検索します。この JMX モデルでは、クライアントは MBeanServerConnection インタフェースを介して間接的に MBean と対話します。

型保障インタフェース (weblogic.management の下にある) をインポートするクラスがある場合は、標準の JMX プログラミング モデルを使用するように更新を行うことをお勧めします。『JMX によるカスタム管理ユーティリティの開発』の「JMX を使用した WebLogic Server MBean へのアクセス」を参照してください。JMX クライアントを更新しない場合、JMX クライアントではドメインの互換性 MBean サーバが使用されます。この互換性 MBean サーバはデフォルトで有効になっています。

MBeanHome API を使用して一般的なコンフィグレーション タスクを自動化していた場合は、JMX の代わりに新しい WebLogic Scripting Tool (WLST) を使用することを検討してください。WLST はコマンドライン形式のスクリプト インタフェースで、アクティブまたは非アクティブな Weblogic Server ドメインの管理およびモニタに使用できます。WLST スクリプト環境は、Java のスクリプト インタプリタである Jython に基づいています。WebLogic スクリプト関数に加えて、ローカル変数、条件変数、フロー制御文など、インタプリタ言語の一般的な機能を使用できます。Jython 言語構文に従って、WebLogic スクリプト言語を拡張できます。Jython の詳細については、http://www.jython.org を参照してください。WLST の詳細については、『WebLogic Scripting Tool ガイド』の「WebLogic Scripting Tool の使用」を参照してください。

ドメインにおけるコンフィグレーション データの配布モデルの変更

WebLogic Server 9.0 では、ドメインのコンフィグレーションに対する変更を収集し、それらをまとめてドメイン全体に配布できます。また 9.0 リリースには、変更の配布のモニタに使用できる API も含まれています。

9.0 では、管理サーバは一連の保留中の MBean をホストします。これらはドメインのコンフィグレーションに対するすべての保留状態の変更をメモリ内で表現しています (保留中の MBean データは、保留中の config.xml ファイルにバックアップされます)。保留中の MBean の変更は、すぐには有効になりません。トランザクションと類似したプロセスで、明示的に変更を配布する必要があります。変更を消費できない管理対象サーバが 1 つでもあれば、分散プロセスにおける一連の変更点すべてがロールバックされます。このトランザクション プロセスが、JMX を使用してドメインのコンフィグレーションを変更する唯一の方法です。『JMX によるカスタム管理ユーティリティの開発』の「JMX を使用したドメインのコンフィグレーションの管理」を参照してください。

9.0 より前のリリースでは、ドメイン内のすべてのサーバおよびサーバ リソースの永続化されたコンフィグレーションを表す一連の MBean (管理 MBean) を管理サーバがホストしていました。パフォーマンス向上のために、各サーバ インスタンスは、これらの MBean をローカルでレプリケートし、ローカル コンフィグレーション MBean と呼ばれるレプリカを使用していました。JMX クライアントが管理 MBean を変更すると、管理サーバは、それ自身がその変更を統合できない場合でも、ドメイン内のすべてのサーバ インスタンス上のローカル コンフィグレーション MBean をすぐに更新しました。場合によっては、サーバ インスタンスを再起動しないとローカル コンフィグレーション MBean を更新できなかったり、レプリカとそのマスター管理 MBean に異なる値が格納されたりすることがあり、さらに、JMX クライアントは直接ローカル コンフィグレーション MBean にアクセスして値を変更できたため、レプリカとそのマスター MBean の間で矛盾した状態になってしまうこともありました。

MBean データ モデルの変更

JMX 仕様では、MBean をまとめるためのモデルを定めていません。ただし、WebLogic Server ドメインのコンフィグレーションは XML ドキュメント内で指定されるため、WebLogic Server は MBean を、XML ドキュメント構造を反映した階層モデルにまとめます。

たとえば、ドメインのコンフィグレーション ドキュメントのルートは <domain> であり、そのルートの下には、<server><cluster> などの子要素があります。各ドメインは、<domain> ルート要素を表す DomainMBean タイプの 1 つの MBean を保持しています。DomainMBean 内では、JMX 属性が、<server><cluster> などの子要素を表す MBean へのアクセスを提供します。

9.0 より前のリリースでは、次のようになっていました。

9.0 以降は、以下のようになっています。

クライアントは、明確に定義された不変のオブジェクト名で MBean サーバに登録されている一連の新しいサービス MBean を使用して、階層にアクセスできます。JMX クライアントは、このオブジェクト名を指定してサービス MBean を取得します。その後、そのサービス MBean の属性とオペレーションを使用して、WebLogic Server MBean 階層のルートを取得します。

機能が調整された新しい MBean サーバ

管理サーバは 3 種類の MBean サーバを保持しており、それぞれの MBean サーバが別々の MBean 階層へのアクセスを提供します。編集 MBean サーバはドメインの編集可能なコンフィグレーション MBean へのアクセスを提供し、ドメイン実行時 MBean サーバはドメイン内のすべての実行時 MBean および読み込み専用コンフィグレーション MBean への結合アクセスを提供し、実行時 MBean サーバは管理サーバ上の実行時および読み込み専用コンフィグレーション MBean のみへのアクセスを提供します。

各管理対象サーバは、実行時 MBean サーバを保持します。これは、実行時および読み込み専用コンフィグレーション MBean のみへのアクセスを提供するものです。

JMX クライアントは、標準の javax.remote.access (JSR-160) API を使用して、MBean サーバに登録された MBean にアクセスし、これらと対話を行います。

『JMX によるカスタム管理ユーティリティの開発』の「MBean サーバ」を参照してください。

サブシステム MBean の変更

WebLogic Server 9.0 では、アプリケーション開発者がアプリケーションのサービス (JMS サービスや JDBC サービスなど) の記述子を作成し、アプリケーションの EAR ファイルにパッケージ化できます。アプリケーションのデプロイ時に、WebLogic Server によってサービスのインスタンスが作成され、記述子で定義されているとおりにコンフィグレーションされます。これらのアプリケーション スコープのサービスをサポートするために、多くのサブシステムが、旧 JMX インタフェースの全部または一部を非推奨にして、新しい MBean または更新された MBean で置き換えています。

9.0 で非推奨になった MBean および新規の MBean のリストについては、『WebLogic Server MBean リファレンス』を参照してください。

カスタム MBean の登録機能

9.0 より前のリリースでは、WebLogic Server インスタンスで MBean サーバにカスタム MBean を登録する場合、独自の MBean サーバを作成するか、weblogic.management.RemoteMBeanServer を使用して、WebLogic Server の MBean サーバに登録を行うことができました。

9.0 および JDK 1.5 以降は、WebLogic Server JVM で実行されている JMX クライアントから、以下のいずれかを行うことができます。

『JMX による管理の容易なアプリケーションの開発』の「実行時 MBean サーバの使用」を参照してください。

WebLogic Server MBean の新しいリファレンス ドキュメント

パブリックな WebLogic Server MBean はすべて、新しいドキュメント『WebLogic Server MBean リファレンス』で説明されています。このドキュメントでは、各 MBean について、以下の情報が記載されています。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次