BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > WebLogic JMS プログラマーズ ガイド > WebLogic JMS の概要 |
WebLogic JMS プログラマーズ ガイド
|
以下の節では、BEA WebLogic Server の Java Message Service(JMS)について概説します。
メッセージ指向ミドルウェア(Message-Oriented Middleware : MOM)とも呼ばれるエンタープライズ メッセージング システムを使用すると、複数のアプリケーションがメッセージの交換を通じて通信できます。メッセージとは、異なるアプリケーション間の通信を調整するために必要な情報が含まれている要求、レポート、またはイベントのことです。メッセージで提供される抽象化の階層により、送り先システムについての詳細情報をアプリケーション コードから切り離すことができます。
Java Message Service(JMS)は、エンタープライズ メッセージング システムにアクセスするための標準の API です。具体的な JMS の特長は以下のとおりです。
次の図は、WebLogic JMS によるメッセージングの仕組みを示しています。
図で示されているように、WebLogic JMS はプロデューサ アプリケーションからメッセージを受信し、受け取ったメッセージをコンシューマ アプリケーションに配信します。
WebLogic Server は、以下の Java 仕様に準拠しています。
WebLogic Server 7.0 は、Sun Microsystems の J2EE 1.3 仕様に準拠しています。
WebLogic Server 7.0 は、JMS 仕様バージョン 1.0.2b に完全に準拠しており、それをプロダクション段階で使用することもできます。
WebLogic JMS では、JMS API の完全な実装が提供されます。具体的な WebLogic JMS の機能は以下のとおりです。
次の図は、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 Server に割り当てることで、クラスタ内のあらゆるサーバから送り先へのクラスタワイドで透過的なアクセスを確立できます。各接続ファクトリは、複数の WebLogic Server にデプロイできます。
アプリケーションでは、Java Naming and Directory Interface(JNDI)を使用して接続ファクトリをルックアップし、JMS サーバとの通信を確立するための接続を作成します。各 JMS サーバでは、複数の送り先に対する要求が処理されます。JMS サーバで処理されない送り先への要求は、適切なサーバに転送されます。
接続ファクトリの詳細については、WebLogic JMS の基礎を参照してください。
「1 回限りのサービス」として、WebLogic JMS はクラスタ化された環境に対して WebLogic Server に実装されている移行フレームワークを活用します。これによって、WebLogic JMS は移行の要求に適切に応答し、JMS サーバを適切にオンライン/オフラインに切り替えることができます。移行には、スケジューリング済み移行のほかに、WebLogic Server の障害に応答して発生する移行が含まれます。詳細については、JMS 移行可能対象のコンフィグレーションを参照してください。
注意: 自動フェイルオーバは、このリリースの WebLogic JMS ではサポートされていません。手動フェイルオーバの実行の詳細については、WebLogic Server の障害からの回復を参照してください。
Sun Microsystems の JMS 仕様による API に加えて、WebLogic JMS には weblogic.jms.extensions というパブリック API が用意されています。この API には、以下の表で説明される拡張機能のクラスやメソッドが含まれています。
この API では、NO_ACKNOWLEDGE と MULTICAST_NO_ACKNOWLEDGE の確認応答モード、および以下のような例外の送出を含む拡張例外もサポートされています。
WebLogic Server 7.0 における JMS の拡張機能
このリリースの WebLogic Server では、JMS の以下の拡張機能が新しく導入されています。
WebLogic JMS は、クラスタ化された環境に対して WebLogic Server のコアに実装されている移行フレームワークを活用します。これによって、WebLogic JMS は移行の要求に適切に応答し、JMS サーバを適切にオンライン/オフラインに切り替えることができます。移行には、スケジューリング済み移行のほかに、WebLogic Server の障害に応答して発生する移行が含まれます。
詳細については、『WebLogic JMS プログラマーズ ガイド』の「JMS の管理」を参照してください。
高い可用性を誇る WebLogic JMS の実装では、複数の物理的な送り先を単一の送り先セットのメンバーとしてコンフィグレーションできるようにすることで、1 台のサーバに障害が発生した場合でもサービスが継続されるようにしています。具体的に言うと、管理者は、クラスタ内にある特定の送り先の複数のインスタンスをコンフィグレーションできます。クラスタ内の 1 つのインスタンスに障害が発生した場合は、同じ送り先の他のインスタンスが JMS プロデューサとコンシューマにサービスを提供できます。
詳細については、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS アプリケーションの開発」および『管理者ガイド』の「JMS の管理」を参照してください。
フロー制御機能を使用すると、JMS サーバまたは送り先が過負荷になったときに、メッセージ プロデューサの処理速度を遅くすることができます。具体的に言うと、JMS サーバまたは送り先が、指定のバイト数またはメッセージのしきい値を超過したとき、プロデューサにメッセージのフローを制限するよう指示します。
詳細については、『管理者ガイド』の「JMS の管理」を参照してください。
メッセージング ブリッジ(JMS ブリッジとも呼ばれる)は、2 つの JMS プロバイダ間でメッセージを転送します。WebLogic Server メッセージング ブリッジ機能により、2 つのメッセージング プロバイダ(WebLogic JMS の個別の実装を含む)間でのストアおよび転送メカニズムをコンフィグレーションできるようになります。
詳細については、『管理者ガイド』の「WebLogic メッセージング ブリッジの使い方」を参照してください。
メッセージ ページング機能により、メッセージの負荷が指定のしきい値に達したときにメッセージを仮想メモリから永続ストレージにスワップすることで、メッセージ負荷のピーク期間中に仮想メモリが解放されます。パフォーマンスの点から見れば、この機能は、今日のエンタープライズ アプリケーションが必要とする大容量のメッセージ領域を持つ WebLogic Server の実装には大きなメリットがあります。
詳細については、『管理者ガイド』の「JMS の管理」を参照してください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |