BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

WebLogic JMS プログラマーズ ガイド

 Previous Next Contents Index PDF で侮ヲ  

WebLogic JMS の概要

以下の節では、BEA WebLogic Server の Java Message Service(JMS)について概説します。

 


JMS とは

メッセージ指向ミドルウェア(Message-Oriented Middleware : MOM)とも呼ばれるエンタープライズ メッセージング システムを使用すると、複数のアプリケーションがメッセージの交換を通じて通信できます。メッセージとは、異なるアプリケーション間の通信を調整するために必要な情報が含まれている要求、レポート、またはイベントのことです。メッセージで提供される抽象化の階層により、送り先システムについての詳細情報をアプリケーション コードから切り離すことができます。

Java Message Service(JMS)は、エンタープライズ メッセージング システムにアクセスするための標準の API です。具体的な JMS の特長は以下のとおりです。

次の図は、WebLogic JMS によるメッセージングの仕組みを示しています。

図1-1 WebLogic JMS のメッセージング


 

図で示されているように、WebLogic JMS はプロデューサ アプリケーションからメッセージを受信し、受け取ったメッセージをコンシューマ アプリケーションに配信します。

 


Java 仕様の実装

WebLogic Server は、以下の Java 仕様に準拠しています。

J2EE 仕様

WebLogic Server 7.0 は、Sun Microsystems の J2EE 1.3 仕様に準拠しています。

JMS 仕様

WebLogic Server 7.0 は、JMS 仕様バージョン 1.0.2b に完全に準拠しており、それをプロダクション段階で使用することもできます。

 


WebLogic JMS の機能

WebLogic JMS では、JMS API の完全な実装が提供されます。具体的な WebLogic JMS の機能は以下のとおりです。

 


WebLogic JMS のアーキテクチャ

次の図は、WebLogic JMS のアーキテクチャを示しています。

図1-2 WebLogic JMS のアーキテクチャ


 

主要な構成要素

WebLogic JMS のアーキテクチャの図で示されているように、WebLogic JMS Server のアーキテクチャは主に以下の要素で構成されています。

クラスタ化機能

WebLogic JMS のアーキテクチャでは、クラスタ内のあらゆるサーバから送り先へのクラスタワイドで透過的なアクセスをサポートすることで、複数の JMS サーバのクラスタ化が実装されます。WebLogic Server は、クラスタ全体への JMS の送り先と接続ファクトリの配布をサポートするようになりました。ただし、JMS トピックおよびキューが、クラスタ内の個々の WebLogic Server インスタンスによって管理される点は変わりません。

WebLogic JMS のクラスタ化のコンフィグレーションの詳細については、WebLogic JMS のクラスタ化のコンフィグレーションを参照してください。WebLogic Server のクラスタ化の詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』を参照してください。

クラスタ化のメリットは以下のとおりです。

注意: 自動フェイルオーバは、このリリースの WebLogic JMS ではサポートされていません。手動フェイルオーバの実行の詳細については、WebLogic Server の障害からの回復を参照してください。

 


WebLogic JMS の拡張機能

Sun Microsystems の JMS 仕様による API に加えて、WebLogic JMS には weblogic.jms.extensions というパブリック API が用意されています。この API には、以下の表で説明される拡張機能のクラスやメソッドが含まれています。

拡張機能

詳細情報の参照先

XML メッセージを作成する

手順 6a :メッセージ オブジェクトを作成する (メッセージ プロデューサ)を参照

セッション例外リスナを定義する

セッション例外リスナの定義を参照

事前に取得する非同期メッセージの、セッションで許可される最大数を設定または表示する

マルチキャストのコンフィグレーション属性の動的コンフィグレーションを参照

メッセージが最大数に達したときに適用するマルチキャスト セッションの超過時のポリシーを設定または表示する

マルチキャストのコンフィグレーション属性の動的コンフィグレーションを参照

永続的なキューまたはトピックを動的に作成する

JMSHelper クラス メソッドの使い方を参照

WebLogic JMS 7.0 と 6.0 以前の JMSMessageID の形式をお互いの形式に変換する

メッセージ ヘッダ フィールドの設定を参照

メッセージの再配信遅延を設定する

メッセージの再配信遅延の設定を参照

プロデューサのメッセージ配信時間を設定する

プロデューサに対する配信時間の設定を参照

メッセージの配信時間を設定する

メッセージに対する配信時間の設定を参照

メッセージのスケジューリング済み配信時間を設定する

スケジューリング済み配信時間のオーバーライドの設定を参照

この API では、NO_ACKNOWLEDGEMULTICAST_NO_ACKNOWLEDGE の確認応答モード、および以下のような例外の送出を含む拡張例外もサポートされています。

 


WebLogic Server 7.0 における JMS の拡張機能

このリリースの WebLogic Server では、JMS の以下の拡張機能が新しく導入されています。

高可用性拡張機能

WebLogic JMS は、クラスタ化された環境に対して WebLogic Server のコアに実装されている移行フレームワークを活用します。これによって、WebLogic JMS は移行の要求に適切に応答し、JMS サーバを適切にオンライン/オフラインに切り替えることができます。移行には、スケジューリング済み移行のほかに、WebLogic Server の障害に応答して発生する移行が含まれます。

詳細については、『WebLogic JMS プログラマーズ ガイド』の「JMS の管理」を参照してください。

WebLogic クラスタ内の分散送り先

高い可用性を誇る WebLogic JMS の実装では、複数の物理的な送り先を単一の送り先セットのメンバーとしてコンフィグレーションできるようにすることで、1 台のサーバに障害が発生した場合でもサービスが継続されるようにしています。具体的に言うと、管理者は、クラスタ内にある特定の送り先の複数のインスタンスをコンフィグレーションできます。クラスタ内の 1 つのインスタンスに障害が発生した場合は、同じ送り先の他のインスタンスが JMS プロデューサとコンシューマにサービスを提供できます。

詳細については、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS アプリケーションの開発」および『管理者ガイド』の「JMS の管理」を参照してください。

フロー制御

フロー制御機能を使用すると、JMS サーバまたは送り先が過負荷になったときに、メッセージ プロデューサの処理速度を遅くすることができます。具体的に言うと、JMS サーバまたは送り先が、指定のバイト数またはメッセージのしきい値を超過したとき、プロデューサにメッセージのフローを制限するよう指示します。

詳細については、『管理者ガイド』の「JMS の管理」を参照してください。

WebLogic メッセージング ブリッジ

メッセージング ブリッジ(JMS ブリッジとも呼ばれる)は、2 つの JMS プロバイダ間でメッセージを転送します。WebLogic Server メッセージング ブリッジ機能により、2 つのメッセージング プロバイダ(WebLogic JMS の個別の実装を含む)間でのストアおよび転送メカニズムをコンフィグレーションできるようになります。

詳細については、『管理者ガイド』の「WebLogic メッセージング ブリッジの使い方」を参照してください。

メッセージ ページング

メッセージ ページング機能により、メッセージの負荷が指定のしきい値に達したときにメッセージを仮想メモリから永続ストレージにスワップすることで、メッセージ負荷のピーク期間中に仮想メモリが解放されます。パフォーマンスの点から見れば、この機能は、今日のエンタープライズ アプリケーションが必要とする大容量のメッセージ領域を持つ WebLogic Server の実装には大きなメリットがあります。

詳細については、『管理者ガイド』の「JMS の管理」を参照してください。

 

Back to Top Previous Next