このスクリプトでは、e-docs マニュアルの検索に必要な Google 検索の URL を出力します。
このスクリプトでは、 e-docs マニュアルに必要なバナーを出力します。
このスクリプトでは、e-docs マニュアルの検索に必要な Google 検索のパラメータを出力します。
WebLogic JMS のコンフィグレーションと管理
概要とロードマップ
この章では、『WebLogic JMS のコンフィグレーションと管理』の内容と構成について説明します。
マニュアルの内容と対象読者
このマニュアルは、JMS サーバ、スタンドアロンの送り先 (キューとトピック)、分散送り先、接続ファクトリなどの WebLogic JMS リソースのコンフィグレーション、管理、およびモニタを担当するシステム管理者を対象としています。
このマニュアルでは、プロダクション段階における管理、モニタ、およびパフォーマンス チューニングについて取り扱います。ソフトウェア プロジェクトのプロダクション前の開発またはテスト段階については説明しません。これらのトピックに関する WebLogic Server のドキュメントとリソースへのリンクについては、「関連ドキュメント 」を参照してください。
このマニュアルは、WebLogic Server のシステム管理に精通している読者を対象としています。このマニュアルでは、WebLogic Server JMS の付加価値機能と、WebLogic Server 機能を使用して WebLogic JMS をプロダクション環境で管理するための主要な情報を重点的に扱います。
このマニュアルの手引き
関連ドキュメント
このマニュアルには、JMS 固有のコンフィグレーションおよび管理上の情報が含まれています。
WebLogic Server アプリケーションの開発、デプロイメント、モニタの総合的な情報については、以下を参照してください。
JMS 管理者向けのサンプルとチュートリアル
このマニュアル以外に、JMS コード サンプルとチュートリアルが用意されています。チュートリアルでは、JMS のコンフィグレーション、API の使用方法、および JMS の主要な開発タスクについて説明します。独自のシステムをコンフィグレーションする前に、まず JMS サンプルの一部またはすべてを実行することをお勧めします。
Avitek Medical Records アプリケーション (MedRec) とチュートリアル
MedRec は WebLogic Server に付属したエンドツーエンドのサンプル J2EE アプリケーションであり、一元的で独立した医療記録管理システムをシミュレートします。MedRec アプリケーションを使用すると、患者、医師、および管理者が、さまざまなクライアントから患者のデータを管理できます。
MedRec では WebLogic Server と J2EE の機能が例示され、BEA 推奨のベスト プラクティスが重要点として示されます。MedRec は WebLogic Server 配布キットに含まれており、Windows マシンの [スタート] メニューからアクセスできます。Linux などのプラットフォームでは、WL_HOME \samples\domains\medrec
ディレクトリから MedRec を起動します。WL_HOME は、WebLogic Platform の最上位のインストール ディレクトリです。
WebLogic Server 配布キットの JMS サンプル
このリリースの WebLogic Server では、任意で API コード サンプルを WL_HOME \samples\server\examples\src\examples
にインストールできます。ここで、WL_HOME は WebLogic Server のインストール先ディレクトリの最上位ディレクトリです。[スタート] メニューの [Examples] から、examplesServer を起動し、サンプルとその実行手順に関する情報を確認できます。
ダウンロード可能な他の JMS サンプル
http://codesamples.projects.dev2dev.bea.com で、他の API サンプルをダウンロードできます。これらのサンプルは .zip ファイルとして配布されており、既存の WebLogic Server サンプル ディレクトリ構造に解凍することができます。
ダウンロードしたサンプルは、インストール済みの WebLogic Server サンプルと同じ方法でビルドおよび実行します。詳細については、各サンプルのダウンロード ページを参照してください (https://codesample.projects.dev2dev.bea.com
)。
このリリースでの JMS の新機能と変更点
WebLogic JMS の管理、可用性、およびパフォーマンスに関しては、以下の点が改良されています。
注意 :
WebLogic JMS はバージョン 9.0 で大幅に変更されています。これらの変更点は、以降のリリースについても適用されます。
信頼性のある JMS メッセージングにおけるクライアント サイドのストア アンド フォワード
9.0 で導入された WebLogic ストア アンド フォワード (SAF) サービスによって、WebLogic Server は、WebLogic Server クラスタ、ドメイン、およびサーバ インスタンスにわたって分散されているサーバ サイドの JMS アプリケーションに、JMS メッセージを確実に配信できるようになりました。たとえば、ローカル サーバ インスタンスに接続された JMS メッセージ プロデューサは、メッセージ送信時にリモートの送り先が一時的に利用できない場合でも、リモート サーバ インスタンスの JMS 送り先に確実にメッセージを転送できます。
リリース 9.2 では、JMS SAF クライアントがストア アンド フォワード メカニズムを備えています。このメカニズムでは、(ネットワーク接続の障害などが原因で) JMS クライアントが一時的に送り先にアクセスできない場合でも、スタンドアロンの JMS クライアントはサーバサイドの JMS 送り先にメッセージを確実に送信できます。サーバとの接続が切断されている間、JMS SAF クライアントによって送信されたメッセージはクライアント上でローカルに格納され、クライアントが再接続するときに、サーバ サイドの JMS 送り先に転送されます。
『スタンドアロン クライアント プログラマーズ ガイド』の「JMS SAF クライアントによる確実なメッセージ送信 」を参照してください。
JMS メッセージ コンシューマの自動フェイルオーバ
JMS クライアントの自動再接続機能を使用すると、サーバまたはネットワークに障害が発生した場合に、一部の JMS クライアント オブジェクトが透過的に別のサーバ インスタンスへのフェイルオーバを試みます (利用可能なものがある場合)。リリース 9.1 以降では、既存のクライアント コードを手動でコンフィグレーションまたは変更しなくても、WebLogic JMS メッセージ プロデューサは、使用可能なサーバ インスタンスへ自動的に再接続しようとします。リリース 9.2 では、Administration Console または WebLogic JMS API を利用して、使用可能なサーバ インスタンスに自動的に再接続するように WebLogic JMS メッセージ コンシューマをコンフィグレーションできます。
『WebLogic JMS プログラマーズ ガイド』の「JMS クライアントの自動フェイルオーバ 」を参照してください。
作業単位メッセージ グループ
リリース 9.0 では、単位内のメッセージを一度に 1 つずつ配信することでメッセージをグループ化する、メッセージ順序単位機能が導入されました。しかし、一部のアプリケーションではより限定的なグループの定義が必要です。そのため、リリース 9.2 では作業単位機能を導入しました。この機能では、アプリケーションが JMS メッセージを送信すると、その一部がグループとして識別され、コンシューマはそれらのメッセージをグループとして処理できるようになります。たとえば、アプリケーションでは、メッセージが実際には 1 つの単位として処理されるように、1 つのクライアントに中断せずに配信する必要のあるメッセージの集合を指定することができます。
『WebLogic JMS プログラマーズ ガイド』の「作業単位メッセージ グループの使用 」を参照してください。
WebLogic ストア管理
WebLogic ストア管理ユーティリティを使用すると、WebLogic ストアのトラブルシューティングを行ったり、データを抽出したりできます。ストア管理の最も一般的な使用例は、サイズを減らすためにファイル ストアを圧縮する場合や、トラブルシューティングを目的としてファイル ストアまたは JDBC ストアの内容を XML ファイルにダンプする場合です。このユーティリティは Java コマンドラインまたは WLST から実行できます。
『WebLogic Server 環境のコンフィグレーション』の「永続ストアの管理 」を参照してください。
一方向メッセージ送信による非永続メッセージングのパフォーマンスの向上
一方向メッセージ送信を使用すると、一般的な非永続メッセージングのパフォーマンスが大幅に改善される可能性があります。接続ファクトリで [一方向送信モード] オプションを有効にすると、関連付けられたプロデューサは、ターゲット送り先のホスト JMS サーバからの応答を内部的に待機せずに、メッセージを送信できます。キュー センダおよびトピック パブリッシャに一方向送信を許可したり、この機能をトピック パブリッシャのみに制限したりできます。一方向ウィンドウ サイズをコンフィグレーションして、追加の一方向送信を続行する前に、プロデューサを制御するために双方向メッセージが必要になる時期を決定することもできます。
『WebLogic Server パフォーマンス チューニング ガイド 』の「一方向メッセージ送信による非永続メッセージングのパフォーマンスの向上 」を参照してください。
JMS 配信回数メッセージ プロパティ
JMSXDeliveryCount
は、メッセージの配信試行回数を指定するシステム生成のプロパティです。1 回目の試行が 1、2 回目の試行が 2 (以降同様) になります。WebLogic Server では、可能な限り配信回数を永続化することで、サーバの再起動後に配信回数が 1 にリセットされないようにしています。詳細については、『WebLogic JMS プログラマーズ ガイド』の「メッセージ プロパティ フィールド 」を参照してください。
WLS 5.1 のメッセージング ブリッジ アダプタの非推奨
BEA WebLogic Server 5.1 は廃止されて、サポートされなくなりました。WebLogic Server 5.1 と相互運用するために使用されるメッセージング ブリッジ アダプタは、このリリースで非推奨となり、次のメジャー リリースでは削除されます。「サポート対象のコンフィグレーション」の「WebLogic Server 5.1 の製品ライフサイクル情報 」を参照してください。
WebLogic Server の付加価値 JMS 機能
WebLogic JMS には、JMS 1.1 仕様 に規定された標準 JMS API を超える働きをする WebLogic JMS 拡張 API が数多く用意されています。また、WebLogic Server プラットフォームに緊密に統合されているため、セキュリティで保護された J2EE アプリケーションを構築し、それらを WebLogic Server コンソールで容易にモニタおよび管理できます。XA トランザクションが完全にサポートされているだけでなく、クラスタ機能とサービス移行機能による高い可用性を特長としています。加えて、他のバージョンの WebLogic Server やサードパーティのメッセージ プロバイダとの相互運用性も提供されます。
以下の節では、WebLogic JMS のユニークかつ強力な機能について概説します。
エンタープライズ レベルの信頼性
トランザクションを完全にサポート。
JTA (Java Transaction API) の使用により、JMS アプリケーションと他のトランザクション対応リソースの間のトランザクション (分散トランザクションを含む) を完全にサポート (『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS によるトランザクションの使い方 」を参照)。
完全に統合されたトランザクション マネージャ。詳細については、『WebLogic JTA プログラマーズ ガイド』の「トランザクションについて 」を参照してください。
ファイルまたはデータベースの永続メッセージ ストレージ (どちらも XA トランザクションに完全対応)。『WebLogic Server 環境のコンフィグレーション』の「WebLogic 永続ストアの使い方 」を参照してください。
メッセージのストア アンド フォワード (SAF) 。この機能はクラスタ化可能で、利用不可能なリモートの送り先に送信されたメッセージをローカルに格納することにより信頼性を向上させます。『WebLogic ストア アンド フォワードのコンフィグレーションと管理』の「ストア アンド フォワード サービスについて 」 を参照してください。
サーバまたはネットワークの障害が発生した場合、JMS プロデューサおよびコンシューマ オブジェクトは (使用可能なものがあれば) 別のサーバ インスタンスに透過的にフェイルオーバを試みます。『WebLogic JMS プログラマーズ ガイド』の「JMS クライアントの自動フェイルオーバ 」を参照してください。
複数の WebLogic Server で対象とされる接続ファクトリを使用した接続クラスタ化のサポート 。「WebLogic JMS クラスタ化のコンフィグレーション 」を参照してください。
共通分散送り先のシステム支援によるコンフィグレーション 。クラスタにおいて高可用性、ロード バランシング、およびフェイルオーバのサポートを提供します。『WebLogic JMS プログラマーズ ガイド』の「分散送り先の使用 」を参照してください。
サーバ全体の自動移行 。高度なクラスタの信頼性とサーバ移行機能を提供します。現在、WebLogic Server では、クラスタ化されたサーバ インスタンスとそこでホストされるすべてのサービスについて、1 つのマシンから別のマシンへの自動および手動での移行をサポートしています。「WebLogic JMS クラスタ化のコンフィグレーション 」を参照してください。
失敗または期限切れになったメッセージをエラー送り先へリダイレクト可能 。『WebLogic JMS プログラマーズ ガイド』の「ロールバック、回復、再配信、または期限切れメッセージの管理 」を参照してください。
JMS 配信回数メッセージ プロパティ (JMSXDeliveryCount
) をサポート。このプロパティでは、メッセージの配信試行回数を指定できます。1 回目の試行が 1、2 回目の試行が 2 (以降同様) になります。WebLogic Server では、可能な限り配信回数を永続化することで、サーバの再起動後に配信回数が 1 にリセットされないようにしています。詳細については、『WebLogic JMS プログラマーズ ガイド』の「メッセージ プロパティ フィールド 」を参照してください。
3 つのレベルでのロード バランシングが可能。ネットワーク レベル、JMS 接続、および分散送り先におけるロード バランシングができます。
エンタープライズ レベルの機能
WebLogic Server では J2EE 1.4 仕様に完全準拠した JMS 1.1 仕様 を完全にサポート。また、標準 JMS API 以上の機能を備えた WebLogic JMS 拡張 が数多く用意されています。
以下のようなメッセージおよび送り先の堅牢な管理機能を提供。
管理者は、Administration Console または実行時 API を使用して、実行中の JMS サーバのほとんどのメッセージを操作可能。「JMS メッセージの管理 」を参照してください。
管理者は、Administration Console または実行時 API を使用して、所定の JMS 送り先または単一の JMS サーバでホストされるすべての送り先においてメッセージの生成、挿入 (処理中のメッセージ)、および消費操作の休止と再開を行える。「送り先でのメッセージ処理の制御 」を参照してください。
メッセージ駆動型 EJB (MDB) でもメッセージの休止および再開機能が提供され、エラー状態での自動的な一時休止も可能。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「メッセージ駆動型 EJB 」を参照してください。
JMS リソースのモジュール形式のデプロイメント 。XML で定義され、これによりエンタープライズ アプリケーション ファイルを開いたり、手動による JMS の膨大な再コンフィグレーションを行ったりすることなく、アプリケーションおよび必要な JMS コンフィグレーションをある環境から別の環境に移行できます。「JMS モジュールの概要 」を参照してください。
JMS メッセージ プロデューサは順序付けされたメッセージを単一の順序単位にグループ化できる。これにより、このようなすべてのメッセージが作成された順序で確実に連続処理されます。『WebLogic JMS プログラマーズ ガイド』の「メッセージ順序単位の使用 」を参照してください。
メッセージ順序単位機能よりもさらに限定的なグループを定義するため、メッセージ作業単位 (UOW) 機能がある。これによって JMS プロデューサは特定のメッセージを UOW メッセージ グループのコンポーネントとして識別でき、JMS コンシューマでもそうしたメッセージをそのようなものとして処理できます。たとえば、JMS プロデューサでは、メッセージが 1 つの単位として処理されるように、1 つのクライアントに中断せずに配信する必要のあるメッセージの集合を指定できます。『WebLogic JMS プログラマーズ ガイド』の「作業単位メッセージ グループの使用 」を参照してください。
メッセージ ライフ サイクルのロギング 。この機能を利用すると、管理者は JMS サーバの観点から、具体的にはメッセージの生成、消費、削除などの基本的なライフ サイクル イベントによって、JMS メッセージの存在をより正確に把握できるようになります。「メッセージ ライフ サイクルのロギング 」を参照してください。
タイマー サービス によるメッセージ配信のスケジューリング。『WebLogic JMS プログラマーズ ガイド』の「メッセージ配信時間の設定 」を参照してください。
柔軟な期限切れメッセージ ポリシーによる期限切れメッセージの処理。詳細については、『WebLogic Server パフォーマンス チューニング ガイド』の「期限切れメッセージの処理 」を参照してください。
XML (Extensible Markup Language) を含むメッセージをサポートする 。『WebLogic JMS プログラマーズ ガイド』の「XML セレクタ メソッドを使用した XML メッセージ セレクタの定義 」を参照してください。
シン アプリケーション クライアント 。クライアントサイドの WebLogic のサイズを大幅に縮小しつつ、JMS を含む WebLogic Server J2EE 機能を完全に提供する JAR です。『スタンドアロン クライアント プログラマーズ ガイド』の「WebLogic JMS シン クライアント 」を参照してください。
JMS SAF クライアント。この機能を使用することで、(ネットワーク接続障害などが原因で) JMS クライアントが一時的に送り先にアクセスできない場合でも、JMS クライアントはサーバサイドの JMS 送り先にメッセージを確実に送信できるようになります。サーバとの接続が切断されている間、JMS SAF クライアントによって送信されたメッセージはクライアント上でローカルに格納され、クライアントが再接続するときに、サーバサイドの JMS 送り先に転送されます。『スタンドアロン クライアント プログラマーズ ガイド』の「JMS SAF クライアントによる確実なメッセージ送信 」を参照してください。
JMS resource-reference プーリングによる、サーバサイド アプリケーション内の JMS クライアント リソースの自動プーリング 。サーバサイド アプリケーションで標準 JMS API を使用しながら、リソースを自動的にプーリングできます。『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS を EJB やサーブレットと組み合わせて使用するために拡張された J2EE サポート 」を参照してください。
パフォーマンス
WebLogic JMS には、自動的なメッセージ ページング、メッセージ圧縮、XML メッセージ用の DOM サポートといった以下のようなエンタープライズクラスのパフォーマンス機能があります。
WebLogic Server は高度に最適化されたディスク アクセス アルゴリズムや他の内部拡張を使用して、JMS ベースおよび Web サービスのメッセージングのパフォーマンスを向上させる統一されたメッセージング カーネルを提供している。『WebLogic Server 環境のコンフィグレーション』の「WebLogic 永続ストアの使い方 」を参照してください。
一方向メッセージ送信を使用すると、一般的な非永続メッセージングのパフォーマンスが大幅に改善される可能性がある。接続ファクトリにコンフィグレーションされている場合、関連するプロデューサは対象送り先のホスト JMS サーバからの応答を内部的に待機せずに、メッセージを送信できます。キュー センダおよびトピック パブリッシャに一方向送信を許可したり、この機能をトピック パブリッシャのみに制限したりできます。「一方向ウィンドウ サイズ」を指定して、追加の一方向送信を続行する前に、プロデューサを制御するために双方向メッセージが必要になる時期を決定することもできます。Administration Console オンライン ヘルプの「接続ファクトリのフロー制御のコンフィグレーション 」を参照してください。
負荷ピーク時に仮想メモリを自動的に解放するメッセージ ページング。詳細については、『WebLogic Server パフォーマンス チューニング ガイド』の「メッセージのページングによるメモリの解放 」を参照してください。
管理者は、Administration Console または実行時 API を使用して、指定したしきい値サイズを超えるメッセージを圧縮することにより、JVM の境界を超えて移動するメッセージの送信パフォーマンスを向上できる。『WebLogic Server パフォーマンス チューニング ガイド』の「メッセージの圧縮 」を参照してください。
Administration Console または実行時 API を使用して、コンシューマの JMS 接続ファクトリの [同期コンシューマのプリフェッチ モード] オプションを有効にすることにより、同期コンシューマでも非同期コンシューマと同じ効率的な動作を利用できる。『WebLogic JMS プログラマーズ ガイド』の「プリフェッチ モードを使用した同期メッセージ パイプラインの作成 」を参照してください。
JMS メッセージ用にさまざまなパフォーマンス チューニング オプションを提供。『WebLogic Server パフォーマンス チューニング ガイド』の「WebLogic JMS のチューニング 」を参照してください。
単一のトランザクションで複数のメッセージを処理することにより、MDB トランザクションのバッチ処理をサポート。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「メッセージ駆動型 EJB 」を参照してください。
JMS SAF により、クラスタ間に渡る WebLogic メッセージング ブリッジのパフォーマンスが向上する。『WebLogic Server パフォーマンス チューニング ガイド』の「WebLogic JMS ストア アンド フォワードのチューニング 」を参照してください。
DOM (Document Object Model) による XML メッセージ送信のサポートにより、アプリケーションで XML メッセージの送信前に DOM をフラット化する必要がなくなるため、すでに DOM を使用している実装のパフォーマンスが大幅に向上する。『WebLogic JMS プログラマーズ ガイド』の「XML メッセージの送信 」を参照してください。
負荷ピーク時のメッセージ フロー制御。過度にアクティブな送信者のブロックも可能です。詳細については、『WebLogic Server パフォーマンス チューニング ガイド』の「JMS サーバおよび送り先のメッセージのフロー制御 」および「割り当ての定義 」を参照してください。
JMS resource-reference プーリングを使用した JMS ラッパーによる 接続および他のオブジェクトの自動的なプーリング。『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS を EJB やサーブレットと組み合わせて使用するために拡張された J2EE サポート 」を参照してください。
メッセージのマルチキャスト 。IP マルチキャストを使用して、多数のクライアントに同時に配信できます。『WebLogic JMS プログラマーズ ガイド』の「WebLogic Server でのマルチキャストの使い方 」を参照してください。
WebLogic Server との緊密な統合
送り先を同じサーバにアプリケーションとして配置できるため、サーバサイド アプリケーションから JMS にネットワーク呼び出しなしでローカルにアクセス可能 。
WebLogic Server と同じポート、プロトコル、ユーザ ID を使用 (T3、IIOP、および HTTP トンネリング プロトコル、必要に応じて SSL)。
WebLogic Server の Web サービス、エンタープライズ JavaBean (MDB を含む)、およびサーブレット を JMS と緊密に連携させることが可能。
同じ Administration Console、または JMS API を使用してコンフィグレーションとモニタが可能 。
WebLogic Scripting Tool (WLST) のサポートにより、対話形式で、または実行可能なスクリプトを使用してコンフィグレーションの変更の開始、管理、および永続化が可能。「WLST を使用した JMS サーバと JMS システム モジュール リソースの管理 」を参照してください。
JMX による API の完全な管理とモニタ。『JMX によるカスタム管理ユーティリティの開発 』を参照してください。
完全に統合されたトランザクション マネージャ。詳細については、『WebLogic JTA プログラマーズ ガイド』の「トランザクションについて 」を参照してください。
WebLogic Server に組み込まれた高度なセキュリティ モデル (ポリシー エンジン) を利用可能。『WebLogic Security について 』および『ロールおよびポリシーによる WebLogic リソースの保護』の「Java Message Service (JMS) リソース 」を参照してください。
他のメッセージング サービスとの相互運用性
WebLogic Server 7.0 から WebLogic Server 9.2 までの直接的な相互運用性を完全サポート。たとえば、リリース 7.0 のクライアントをリリース 9.2 のサーバと相互運用できます (逆の場合も可能)。
WebLogic メッセージング ブリッジを使用することで、他の JMS プロバイダ、他のインスタンス、および他のバージョンの WebLogic JMS にトランザクションとしてメッセージを転送可能 。『WebLogic メッセージング ブリッジのコンフィグレーションと管理 』を参照してください。
他の JMS プロバイダのマッピングをサポート 。これにより、他の JMS プロバイダのオブジェクトが WebLogic JNDI ツリーにローカル JMS オブジェクトとして表示されます。また、ローカルの JNDI ツリーで別のクラスタまたはドメインにある WebLogic Server のリモート インスタンスも参照できます。「外部サーバのコンフィグレーション 」を参照してください。
MDB を使用することで、複数の JMS プロバイダからのメッセージをトランザクションとして受信可能 。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「メッセージ駆動型 EJB 」を参照してください。
Web サービスと JMS の信頼性の高い統合 。Web サービスは転送として統合されています。『WebLogic Web サービス プログラマーズ ガイド』の「Web サービスの信頼性のあるメッセージングの使用 」を参照してください。
JMS resource-reference プーリングによる、サーバサイド アプリケーション内の非 WebLogic JMS クライアント リソースの自動トランザクション登録 。『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS を EJB やサーブレットと組み合わせて使用するために拡張された J2EE サポート 」を参照してください。
WebLogic Tuxedo Connector で提供される BEA Tuxedo メッセージングとの統合。 『WebLogic Tuxedo Connector 管理ガイド』の「Tuxedo キュー ブリッジのコンフィグレーション方法 」を参照してください。
Weblogic JMS C API により、「C」で記述されたプログラムが JMS アプリケーションに参加可能。この JMS C API の実装では、Java 仮想マシン (JVM) へのアクセスに JNI を使用します。『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS C API 」を参照してください。