WebLogic JMS のコンフィグレーションと管理

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

JMS 統計のモニタとメッセージの管理

WebLogic Server のこのリリースには WebLogic 診断サービスが含まれています。これは、WebLogic Server プロセス内で実行され、標準のサーバ ライフ サイクルに参加する、モニタと診断のサービスです。このサービスを使用すると、実行中のサーバおよびそのコンテナ内にデプロイされているアプリケーションによって生成された診断データを作成、収集、分析、アーカイブし、それらの診断データにアクセスできます。

Weblogic JMS では、高度な実行時統計機能で WebLogic ドメイン内の JMS サーバや送り先リソースをモニタして、問題がないかどうかを確認できます。問題があれば、プロファイリングによって、問題の原因となっているアプリケーションを判断できます。アプリケーションを絞り込んだら、JMS デバッグ機能を使用して、そのアプリケーション内の問題点を突き止めます。

JMS 診断通知、デバッグ オプション、メッセージ ライフ サイクルのロギング、および JMS 送り先でのメッセージ処理の制御をコンフィグレーションする方法については、「WebLogic JMS のトラブルシューティング」を参照してください。

このリリースのメッセージ管理ツールにより、Administration Console または新しいパブリックな実行時 API を使用して、実行中の JMS サーバですべてのメッセージを表示したりほとんどのメッセージを操作したりできるようになりました。これらのメッセージ管理機能には、トランザクション管理、恒久サブスクライバの管理、JMS クライアント接続の管理に加えて、メッセージの表示 (ソート用)、メッセージの操作 (作成、移動、削除など)、メッセージのインポートとエクスポートなどがあります。

以下の節では、Administration Console を通じて、JMS リソースの統計のモニタや JMS メッセージの管理を行う方法について説明します。

WebLogic 診断サービスの詳細については、『WebLogic 診断フレームワークのコンフィグレーションと使い方』を参照してください。

 


JMS 統計のモニタ

WebLogic JMS をコンフィグレーションすると、アプリケーションで JMS API を使用してメッセージの送受信ができるようになります。『WebLogic JMS プログラマーズ ガイド』の「基本的な JMS アプリケーションの開発」を参照してください。

JMS サーバ、接続、キューおよびトピック送り先、JMS サーバのセッション プール、プール済み接続、アクティブなセッション、メッセージ プロデューサ、メッセージ コンシューマ、JMS トピックの恒久サブスクライバといった JMS リソースに関する統計をモニタできます。

サーバが実行されていれば、JMS 統計は増え続けます。統計は、サーバを再起動するときにのみリセットされます。

JMS サーバのモニタ

Administration Console または JMSServerRuntimeMBean を通じて、ドメインに定義されているアクティブな JMS サーバに関する統計をモニタできます。JMS サーバは、JMS サーバに限定的に対象指定された JMS モジュール内の JMS キュー リソースおよび JMS トピック リソースの管理コンテナとして機能します。

Administration Console を使用して JMS サーバをモニタする方法については、Administration Console オンライン ヘルプの「JMS サーバのモニタ」を参照してください。

Administration Console で JMS サーバをモニタする場合は、アクティブな送り先、トランザクション、接続、およびセッション プールもモニタできます。

アクティブな JMS 送り先をモニタする

JMS サーバに対象指定されているすべてのアクティブな送り先に関する統計をモニタできます。JMS 送り先は、JMS サーバに限定的に対象指定された JMS モジュール内のキュー送り先またはトピック送り先のタイプを特定します。

詳細については、Administration Console オンライン ヘルプの「JMS サーバ : モニタ : アクティブな送り先」を参照してください。

アクティブな JMS トランザクションをモニタする

JMS サーバで実行しているすべてのアクティブなトランザクションに関する統計をモニタできます。

アクティブな JMS トランザクションの実行時統計の詳細については、Administration Console オンライン ヘルプの「JMS サーバ : モニタ : アクティブなトランザクション」を参照してください。

アクティブな JMS 接続、セッション、コンシューマ、プロデューサをモニタする

JMS サーバへのアクティブな JMS 接続に関する統計をモニタできます。JMS 接続は、メッセージング システムへの開かれた通信チャネルです。

アクティブな JMS サーバ接続の実行時統計の詳細については、Administration Console オンライン ヘルプの「JMS サーバ : モニタ : アクティブな接続」を参照してください。

JMS サーバのアクティブな接続のモニタ用ページでも、サーバ上のアクティブな JMS セッション、コンシューマ、およびプロデューサの統計をすべてモニタできます。セッションでは、生成および消費されるメッセージの順序が定義されます。また、複数のメッセージ プロデューサとメッセージ コンシューマを作成できます。メッセージの生成と消費には同じスレッドを使用できます。

Administration Console を使用して、セッション、コンシューマ、およびプロデューサをモニタする方法については、Administration Console オンライン ヘルプの以下のトピックを参照してください。

アクティブな JMS セッション プールをモニタする

JMS サーバ用に定義されているすべてのアクティブな JMS セッション プールに関する統計をモニタできます。セッション プールを使用すると、アプリケーションでメッセージを並行して処理できます。

アクティブな JMS セッション プールの実行時統計の詳細については、Administration Console オンライン ヘルプの「JMS サーバ : モニタ : アクティブなセッション プール」を参照してください。

キューのモニタ

Administration Console または JMSDestinationRuntimeMBean を通じて、JMS モジュール内のキュー リソースに関する統計をモニタできます。JMS キューでは、JMS サーバのポイント ツー ポイントの送り先タイプが定義されます。キューは、同期ピア通信に使用されます。キューに配信されたメッセージは、1 つのコンシューマに配信されます。

Administration Console を使用してキュー リソースをモニタする方法の詳細については、Administration Console オンライン ヘルプの「JMS システム モジュールのキューのモニタ」を参照してください。

Administration Console を使用して、キュー上のメッセージを管理することもできます。「JMS メッセージの管理」を参照してください。

トピックのモニタ

Administration Console または JMSDestinationRuntimeMBean を通じて、JMS モジュール内のトピック リソースに関する統計をモニタできます。JMS トピックでは、JMS サーバのパブリッシュ/サブスクライブの送り先タイプが定義されます。トピックは、非同期のピア通信に使用されます。トピックに配信されたメッセージは、すべてのトピック コンシューマに配信されます。

Administration Console を使用してトピック リソースをモニタする方法の詳細については、Administration Console オンライン ヘルプの「JMS システム モジュールのトピックのモニタ」を参照してください。

トピックの恒久サブスクライバのモニタ

Administration Console または JMSDurableSubscriberRuntimeMBean を通じて、JMS トピックで実行中のすべての恒久サブスクライバに関する統計をモニタできます。恒久サブスクライバでは、トピック サブスクライバに名前を割り当ててユーザやアプリケーションと関連付けられます。恒久サブスクライバは、メッセージが配信された際にアクティブではない場合にも、メッセージが配信されるか期限切れになるまで、永続的なファイル ベースのストアか、JDBC でアクセス可能なデータベースに格納されます。

Administration Console を使用して、トピックで動作する恒久サブスクライバを管理することもできます。「JMS メッセージの管理」を参照してください。

共通分散キューのモニタ

Administration Console または JMSDestinationRuntimeMBean を通じて、JMS モジュール内の共通分散キュー リソースに関する統計をモニタできます。分散キュー リソースは、単一の論理的な送り先としてクライアントからアクセス可能なキューのセットです (分散キューは独自の JNDI 名を持ちます)。この単位のメンバーは通常、クラスタ内の複数のサーバに分散されており、各メンバーは個々の JMS サーバに属しています。

Administration Console を使用して共通分散キュー リソースをモニタする方法の詳細については、Administration Console オンライン ヘルプの「共通分散キュー - 統計のモニタ」を参照してください。

Administration Console を使用して、分散キュー上のメッセージを管理することもできます。詳細については、「JMS メッセージの管理」を参照してください。

共通分散トピックのモニタ

Administration Console または JMSDestinationRuntimeMBean を通じて、JMS モジュール内の共通分散トピック リソースに関する統計をモニタできます。分散トピック リソースは、単一の論理的な送り先としてクライアントからアクセス可能なトピックのセットです (分散トピックは独自の JNDI 名を持ちます)。この単位のメンバーは通常、クラスタ内の複数のサーバに分散されており、各メンバーは個々の JMS サーバに属しています。

Administration Console を使用して共通分散トピック リソースをモニタする方法の詳細については、Administration Console オンライン ヘルプの「共通分散トピック - 統計のモニタ」を参照してください。

プール済み JMS 接続のモニタ

サーバ上のすべてのアクティブなプール済み JMS 接続に関する統計を表示できます。プール済み JMS 接続は、EJB またはサーブレットのデプロイメント記述子の resource-reference 要素を使用して JMS 接続ファクトリを定義する EJB とサーブレットによって使用される、セッション プールです。

詳細については、Administration Console オンライン ヘルプの「JMS サーバ : モニタ : アクティブなプール済み接続」を参照してください。

 


JMS メッセージの管理

Weblogic JMS メッセージのモニタ機能と管理機能を使用すると、新しいメッセージの作成、選択したメッセージの削除、別のキューへのメッセージの移動、別のファイルへのメッセージ コンテンツのエクスポート、別のファイルからのメッセージ コンテンツのインポート、またはキューからのすべてのメッセージの排出が行えます。

Java API を使用した JMS メッセージの管理

WebLogic Java Management Extensions (JMX) 機能を使用すると、JMSDestinationRuntimeMBeanJMSDurableSubscriberRuntimeMBean にアクセスして、JMS キューやトピックの恒久サブスクライバ上にあるメッセージを管理できます。『JMX によるカスタム管理ユーティリティの開発』の「JMX を使用した WebLogic Server MBean へのアクセス」を参照してください。

Administration Console を使用した JMS メッセージの管理

Administration Console の [JMS メッセージの管理] ページには、モニタしているスタンドアロンのキュー、分散キュー、または恒久トピック サブスクライバで使用できるメッセージの概要が表示されます。ページ内でメッセージを探したり、指定したフィルタ条件を満たすメッセージのセットを検索したりできます。メッセージの表示をカスタマイズして、必要な情報のみを表示することもできます。このページでは、コンテンツを表示するメッセージの選択、新しいメッセージの作成、1 つまたは複数のメッセージの削除、メッセージの移動、メッセージのインポートとエクスポート、キューや恒久サブスクリプションからの全メッセージの排出 (削除) が行えます。

Administration Console を使用したスタンドアロンのキュー、分散キュー、および恒久サブスクライバにあるメッセージの管理の詳細については、Administration Console のオンライン ヘルプで以下の手順を参照してください。

各メッセージ管理機能については、以降の節で詳しく説明します。

メッセージの実行時情報をモニタする

デフォルト設定の [JMS メッセージの管理] ページには、キューまたは恒久サブスクライバ上の各メッセージに関する情報が、以下のカラムで構成される表形式で表示されます。

表示するカラムの順序を変更したり、どのカラムを表示してどのカラムを非表示にするかを選択したりできます。ページに表示するメッセージの数を、デフォルトの 10 から 20 または 30 に増やすこともできます。

デフォルトでは、送り先に到着した順番でメッセージが表示されます。[ID] カラムのヘッダをクリックすると、メッセージ ID の昇順または降順でメッセージをソートできます。ただし、ソート順をいったん変更すると、当初のソート順に戻すことはできません。メッセージを到着順で表示するには、[JMS システム モジュール リソース] ページに戻ってキューを選択しなおします。

メッセージをクエリする

[JMS メッセージの管理] ページの上部にある [メッセージ セレクタ] フィールドを使用すると、有効な JMS メッセージ ヘッダまたはプロパティ (JMSXDeliveryCount を除く) に基づいてキュー上のメッセージをフィルタ処理できます。メッセージ セレクタはブール式であり、SQL の select 文の where 句と似た構文を持つ String です。

以下に、セレクタ式の例を示します。

salary > 64000 and dept in ('eng','qa')
(product like 'WebLogic%' or product like '%T3') 
and version > 3.0
hireyear between 1990 and 1992 
or fireyear is not null
fireyear - hireyear > 4

メッセージ セレクタ構文の詳細については、javax.jms.Message の Javadoc を参照してください。

メッセージを移動する

以下の条件を満たせば、ソース送り先から対象送り先にメッセージを転送できます。

メッセージを移動しても、メッセージの識別子は変更されません。移動したメッセージがすでに対象送り先に存在する場合は、同じ識別子の重複メッセージが送り先に追加されます。

メッセージを削除する

以下の条件を満たす場合に、キューまたはトピックの恒久サブスクライバから特定のメッセージを削除したりすべてのメッセージを排出したりできます。

削除処理の間は、送り先がロックされます。削除処理中に障害が発生すると、選択したメッセージの一部しか削除されない可能性があります。

新しいメッセージを作成する

送り先に送信する新しいメッセージを作成できます。新しいメッセージを作成するには、以下の情報を指定します。

JMS メッセージ プロパティの詳細については、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS について」を参照してください。

メッセージをインポートする

XML フォーマットのメッセージをインポートすると、指定した送り先にメッセージが作成されるか、既存のメッセージが置換されます。インポートするメッセージの対象送り先として指定できるのは、キューまたはトピック恒久サブスクライバです。送り先は、生成の休止状態である必要があります。

注意 : 生成の休止状態の詳細については、「生成の休止と生成の再開」を参照してください。

インポートしたファイルによって置換されたメッセージが JMS トランザクションに関連付けられていた場合は、インポートしたメッセージも引き続きそのトランザクションに関連付けられます。

新しいメッセージを作成する場合や、インポートしたファイルによって既存のメッセージが置換される場合は、以下の規則が適用されます。

注意 : JMS メッセージのインポートは、結果だけを見ると新しい JMS メッセージの作成やパブリッシュに似ていますが、ExpirationTime が定義されている (ゼロでない) メッセージのインポート時の動作が異なります。これは、メッセージ管理 API の ExpirationTime がインポートされたメッセージ専用であるためです。一方、メッセージ送信 API の ExpirationTime は送信されたメッセージの時間に関連するものです。

メッセージをエクスポートする

メッセージをエクスポートすると、JMS メッセージが XML フォーマットまたはシリアライズされたフォーマットに変換されます。ソース送り先は、生成の休止状態である必要があります。

注意 : 生成の休止状態の詳細については、「生成の休止と生成の再開」を参照してください。

一時的な送り先を使用することで、サーバ定義の送り先のコンフィグレーションと作成に伴うシステム管理のオーバーヘッドを発生させずに、必要に応じてアプリケーションで送り先を作成できます。

警告 : 通常、JMS アプリケーションでは、JMSReplyTo ヘッダ フィールドを使用してリクエストに応答を返すことができます。しかし、JMSReplyTo フィールドの情報は使用可能な送り先オブジェクトではなく、エクスポートまたはインポートの後は有効ではありません。

トランザクションの管理

グローバル トランザクションの一部として生成または消費されるメッセージは、基本的にトランザクションによってロックされ、トランザクション コーディネータが JMS ブランチをコミットまたは中止するまでロックされたままになります。障害が原因でコーディネータがトランザクションの結果を JMS サーバに通信できない場合、トランザクションに関連付けられたメッセージは長時間保留されたままになります。

Administration Console から利用できる JMS サーバのトランザクション管理機能を使用すると、以下が行えます。

特定の WebLogic Server インスタンスのすべての JMS 接続を表示して、接続を保持する各プロセスのアドレスとポートの情報を取得できます。接続を終了させることもできます。Administration Console を使用して JMS サーバのトランザクションを管理する方法の詳細については、Administration Console オンライン ヘルプの「JMS サーバ : モニタ : アクティブなトランザクション」を参照してください。

JMS トランザクションの詳細については、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS によるトランザクションの使い方」を参照してください。

恒久トピック サブスクライバの管理

特定のトピックの恒久サブスクライバを一覧表示したり、サブスクライバに関連付けられたメッセージを参照したりできます。また、サブスクライバの作成や削除、選択したメッセージの削除、サブスクリプションの全メッセージのパージを実施できます。

詳細については、Administration Console オンライン ヘルプの「トピックの恒久サブスクライバの管理」を参照してください。


ページの先頭       前  次