Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3 JMSリソースの管理 12c (12.1.3) E57583-04 |
|
前 |
次 |
この章では、『Oracle WebLogic Server 12.1.3 JMSリソースの管理』の内容と構成について説明します。
この章の内容は次のとおりです。
このドキュメントは、JMSサーバー、スタンドアロンの宛先(キューとトピック)、分散宛先、接続ファクトリなどのWebLogic JMSリソースの構成、管理、およびモニターを担当するシステム管理者を対象としています。
このドキュメントでは、本番フェーズにおける管理、モニター、およびパフォーマンス・チューニングについて取扱います。ソフトウェア・プロジェクトの本番前の開発またはテスト・フェーズについては説明しません。これらのトピックに関するWebLogic Serverのドキュメントとリソースへのリンクについては、「関連ドキュメント」を参照してください。
このドキュメントは、WebLogic Serverのシステム管理に精通している読者を対象としています。このドキュメントでは、WebLogic Server JMSの付加価値機能と、WebLogic Server機能を使用してWebLogic JMSを本番環境で管理するための主要な情報を重点的に扱います。
この章第1章「概要とロードマップ」では、このガイドの構成について説明します。
第2章「JMSリソースの構成の理解」では、WebLogic JMSのアーキテクチャと機能について概説します。
第3章「基本JMSシステム・リソースの構成」では、JMSサーバー、宛先(キューおよびトピック)、接続ファクトリなどの基本的なWebLogic JMSリソースを構成する方法について説明します。
第4章「拡張JMSシステム・リソースの構成」では、JMSサーバー、移行可能ターゲット、分散宛先などのJMSクラスタリング機能を構成する方法について説明します。
第5章「簡略化されたJMSクラスタ構成」では、構成プロセスを簡略化する新しいクラスタ・ターゲティング・オプションについて説明します。
第6章「JMSアプリケーション・モジュールのデプロイメントの構成」では、グローバルに使用可能なスタンドアロン・リソースとしてデプロイできるアプリケーション・モジュール向け、またはパッケージ化したエンタープライズ・アプリケーションでのみ使用できるエンタープライズ・アプリケーションの一部として、JMSリソースを準備する方法を説明します。
第7章「WLSTを使用したJMSサーバーおよびJMSシステム・モジュール・リソースの管理」では、WebLogic Scripting Toolを使用してJMSリソースをプログラムで作成および管理する方法について説明します。
第8章「Oracle AQ JMSとの相互運用」では、Oracle AQ JMSとの相互運用の方法について説明します。
第9章「JMS統計のモニターとメッセージの管理」では、WebLogic Server管理コンソールを使用してJMSオブジェクトの実行時統計をモニターおよび管理する方法について説明します。
第10章「JMS初級および上級ユーザーのベスト・プラクティス」では、初級および上級のJMSユーザーにアドバイスとベスト・プラクティスを提供します。
第11章「WebLogic JMSのトラブルシューティング」では、メッセージ・ログを構成および管理する方法と、宛先に対するメッセージ処理を一時的に休止する方法について説明します。
このドキュメントには、JMS固有の構成および管理上の情報が含まれています。
WebLogic Serverアプリケーションの開発、デプロイメント、モニターの総合的な情報については、以下を参照してください。
『Oracle WebLogic Server JMSアプリケーションの開発』は、WebLogic Serverを使用したJMS APIアプリケーションのプログラミング用ガイドです。
『Oracle WebLogic Serverクラスタの使用』のWebLogic Serverのクラスタリングの理解に関する項では、WebLogic Serverのクラスタリングの仕組みを説明しています。
『Oracle WebLogic Serverへのアプリケーションのデプロイ』は、WebLogic Serverアプリケーションのデプロイに関するもっとも詳細なガイドです。スタンドアロンまたはアプリケーション・スコープのJMSリソース・モジュールに関する説明があります。
『Oracle WebLogic Serverサーバー環境の管理』のWebLogic永続ストアの使用方法に関する項では、システム全体を対象としたWebLogic永続ストアの利点と使用について説明します。
『Oracle WebLogic Serverストア・アンド・フォワード・サービスの管理』では、JMSメッセージを使用したストア・アンド・フォワード・サービスの利点と使用について説明します。
『Oracle WebLogic Server WebLogic Tuxedo Connectorの管理』では、任意の2つのメッセージング製品間にメッセージング・ブリッジを構成する方法と、それによって様々なリリースのWebLogic JMS実装間やWebLogic JMSと他のメッセージング製品間で相互運用性を実現する方法について説明します。
『Oracle WebLogic Serverのパフォーマンスのチューニング』には、WebLogic Serverアプリケーションのパフォーマンスをモニターし、向上させるための情報が記載されています。WebLogic JMSで使用できる管理パフォーマンス・チューニング機能によって、JMSアプリケーションの能力を最大限に引き出す方法についても説明しています。
このドキュメント以外に、JMSコード・サンプルとチュートリアルが用意されています。チュートリアルでは、JMSの構成、APIの使用方法、およびJMSの主要な開発タスクについて説明します。独自のシステムを構成する前に、まずJMSサンプルの一部またはすべてを実行することをお薦めします。
MedRecはWebLogic Serverに付属したエンドツーエンドのサンプルJava EEアプリケーションであり、一元的で独立した医療記録管理システムをシミュレートします。MedRecアプリケーションを使用すると、患者、医師、および管理者が、様々なクライアントから患者のデータを管理できます。
MedRecはWebLogic ServerとJava EEの機能を例示し、Oracle推奨のベスト・プラクティスを重要点として示します。MedRecは、WebLogic Serverのインストール時に任意でインストールできます。MedRecは、ORACLE_HOME
\user_projects\domains\medrec
ディレクトリから起動できます。ORACLE_HOME
は、Oracle WebLogic Serverのインストール時にOracleホームとして指定したディレクトリです。詳細は、『Oracle WebLogic Serverの理解』のサンプル・アプリケーションおよびサンプル・コードに関する項を参照してください。
WebLogic JMSには、JMS 1.1仕様で指定されている標準JMS APIよりも高度なWebLogic JMS拡張 APIが数多く用意されています。このAPI群は、http://www.oracle.com/technetwork/java/jms/index.html
で入手できます。また、WebLogic Serverプラットフォームに緊密に統合されているため、セキュリティで保護されたJava EEアプリケーションを構築し、それらをWebLogic Serverコンソールで容易にモニターおよび管理できます。XAトランザクションが完全にサポートされているだけでなく、クラスタ機能とサービス移行機能による高可用性を特長としています。加えて、他のバージョンのWebLogic Serverやサード・パーティのメッセージ・プロバイダとの相互運用性も提供されます。
以下の節では、WebLogic JMSの一意かつ強力な機能について概説します。
WebLogic JMSには、信頼性に関する以下の機能があります。
すぐに使用可能なトランザクションのサポート:
JTA (Java Transaction API)の使用により、JMSアプリケーションとその他のトランザクション対応リソースの間のトランザクション(分散トランザクションを含む)を完全にサポート(『Oracle WebLogic Server JMSアプリケーションの開発』のWebLogic JMSによるトランザクションの使用方法に関する項を参照)。
完全に統合されたトランザクション・マネージャ(『Oracle WebLogic Server JTAアプリケーションの開発』のトランザクションの概要に関する項を参照)。
ファイルまたはデータベースの永続メッセージ・ストレージ(どちらもXAトランザクションに完全対応)。『Oracle WebLogic Serverサーバー環境の管理』のWebLogic永続ストアの使用方法に関する項を参照してください。
メッセージのストア・アンド・フォワード(SAF)。この機能はクラスタ化可能で、利用不可能なリモートの宛先に送信されたメッセージをローカルに格納することにより信頼性を向上させます。『Oracle WebLogic Serverストア・アンド・フォワード・サービスの管理』のストア・アンド・フォワード・サービスの理解に関する項を参照してください。
サーバーまたはネットワークの障害が発生した場合、JMSプロデューサおよびコンシューマ・オブジェクトは(使用可能なものがあれば)別のサーバー・インスタンスに透過的にフェイルオーバーを試みます。『Oracle WebLogic Server JMSアプリケーションの開発』のJMSクライアントの自動フェイルオーバーに関する項を参照してください。
複数のWebLogic Serverでターゲットとされる接続ファクトリを使用した接続クラスタリングのサポート。「WebLogic JMSクラスタリングの構成」を参照してください。
クラスタで高可用性、ロード・バランシング、およびフェイルオーバー・サポートを提供する共通分散キュー、複製された分散トピック、およびパーティション化された分散トピックのシステム支援による構成。『Oracle WebLogic Server JMSアプリケーションの開発』の分散宛先の使用に関する項および高度なパブリッシュ/サブスクライブ・アプリケーションの開発に関する項を参照してください。
サーバー全体の自動移行。高度なクラスタの信頼性とサーバー移行機能を提供します。現在、WebLogic Serverでは、クラスタリングされたサーバー・インスタンスとそこでホストされるすべてのサービスについて、1つのマシンから別のマシンへの自動および手動での移行をサポートしています。「WebLogic JMSクラスタリングの構成」を参照してください。
失敗したメッセージや期限切れメッセージのエラー宛先へのリダイレクト。『Oracle WebLogic Server JMSアプリケーションの開発』のロールバックまたは回復されたメッセージ、再配信されたメッセージまたは期限切れメッセージの管理に関する項を参照してください。
JMS配信回数メッセージ・プロパティ(JMSXDeliveryCount
)をサポート。このプロパティでは、メッセージの配信試行回数を指定できます。1回目の試行が1、2回目の試行が2 (以降同様)になります。WebLogic Serverでは、可能な限り配信回数を永続化することで、サーバーの再起動後に配信回数が1にリセットされないようにしています。『Oracle WebLogic Server JMSアプリケーションの開発』のメッセージに関する項を参照してください。
3つのレベルでのロード・バランシングが可能です。ネットワーク・レベル、JMS接続、および分散宛先におけるロード・バランシングができます。
WebLogic JMSに備わっているエンタープライズ・レベルの機能は以下のとおりです。
WebLogic Serverでは、Java EE 5.0仕様に完全準拠したJMS 1.1仕様(http://www.oracle.com/technetwork/java/jms/index.html
で入手可能)を完全にサポートしています。また、標準JMS APIよりも高度なWebLogic JMS拡張が数多く用意されています。
以下のようなメッセージおよび宛先の堅牢な管理機能を提供します:
管理者は、WebLogic Server管理コンソールまたは実行時APIを使用して、実行中のJMSサーバーのほとんどのメッセージを操作可能です。「JMSメッセージの管理」を参照してください。
管理者は、WebLogic Server管理コンソールまたは実行時APIを使用して、所定のJMS宛先または単一のJMSサーバーでホストされるすべての宛先においてメッセージの生成、挿入(処理中のメッセージ)、および消費操作の休止と再開を行えます。「宛先でのメッセージ処理の制御」を参照してください。
メッセージドリブンEJB (MDB)でもメッセージの休止および再開機能が提供され、エラー状態での自動的な一時休止も可能です。『Oracle WebLogic ServerメッセージドリブンBeanの開発』のMDBのプログラミングと構成の詳細に関する項を参照してください。
JMSリソースのモジュール形式のデプロイメント。XMLで定義され、これによりエンタープライズ・アプリケーション・ファイルを開いたり、手動によるJMSの膨大な再構成を行ったりすることなく、アプリケーションおよび必要なJMS構成をある環境から別の環境に移行できます。「JMSモジュールの概要」を参照してください。
JMSメッセージ・プロデューサは順序付けされたメッセージを単一の順序単位にグループ化できます。これにより、このようなすべてのメッセージが作成された順序で確実に連続処理されます。『Oracle WebLogic Server JMSアプリケーションの開発』のメッセージ順序単位の使用に関する項を参照してください。
メッセージ順序単位機能よりもさらに限定的なグループを定義するため、メッセージ作業単位(UOW)機能があります。これによってJMSプロデューサは特定のメッセージをUOWメッセージ・グループのコンポーネントとして識別でき、JMSコンシューマでもそうしたメッセージをそのようなものとして処理できます。たとえば、JMSプロデューサでメッセージが1つの単位として処理されるように、1つのクライアントに中断なしで配信する必要のあるメッセージの集合を指定できます。『Oracle WebLogic Server JMSアプリケーションの開発』の作業単位メッセージ・グループの使用に関する項を参照してください。
メッセージ・ライフ・サイクルのロギング。この機能を利用すると、管理者はJMSサーバーの観点から、具体的にはメッセージの生成、消費、削除などの基本的なライフ・サイクル・イベントによって、JMSメッセージの存在をより正確に把握できるようになります。「メッセージ・ライフ・サイクルのロギング」を参照してください。
スケジュールされたメッセージ配信用のタイマー・サービスを使用できます。『Oracle WebLogic Server JMSアプリケーションの開発』のメッセージ配信時間の設定に関する項を参照してください。
柔軟な期限切れメッセージ・ポリシーで期限切れメッセージを処理できます。『Oracle WebLogic Serverのパフォーマンスのチューニング』の期限切れメッセージの処理に関する項を参照してください。
XML (Extensible Markup Language)を含むメッセージをサポートします。『Oracle WebLogic Server JMSアプリケーションの開発』のXMLセレクタ・メソッドを使用したXMLメッセージ・セレクタの定義に関する項を参照してください。
WebLogic Thin T3クライアントjar (wlthint3client.jar
)は、wlfullclient.jar
およびwlclient.jar
(IIOP)リモート・クライアントjarにかわる軽量の高性能な機能です。Thin T3クライアントは、クライアントの使用に適したAPIリッチ・セットへのアクセスを提供しながら、フットプリントは最小限で済みます。『Oracle WebLogic Serverスタンドアロン・クライアントの開発』のWebLogic Thin T3クライアントの開発に関する項を参照してください。
JMS SAFクライアント。この機能を使用することで、(ネットワーク接続障害などが原因で) JMSクライアントが一時的に宛先にアクセスできない場合でも、JMSクライアントはサーバー側のJMS宛先にメッセージを確実に送信できるようになります。サーバーとの接続が切断されている間、JMS SAFクライアントによって送信されたメッセージはクライアント上でローカルに格納され、クライアントが再接続するときに、サーバー側のJMS宛先に転送されます。『Oracle WebLogic Serverスタンドアロン・クライアントの開発』のJMS SAFクライアントによる確実なメッセージ送信に関する項を参照してください。
JMS resource-referenceプーリングによる、サーバー側アプリケーション内のJMSクライアント・リソースの自動プーリング。サーバー側アプリケーションで標準JMS APIを使用しながら、リソースを自動的にプーリングできます。『Oracle WebLogic Server JMSアプリケーションの開発』のEJBとサーブレットにWebLogic JMSを使用するための拡張Java EEサポートに関する項を参照してください。
WebLogic JMSには、自動的なメッセージ・ページング、メッセージ圧縮、XMLメッセージ用のDOMサポートといった以下のようなエンタープライズ・クラスのパフォーマンス機能があります。
WebLogic Serverは高度に最適化されたディスク・アクセス・アルゴリズムや他の内部拡張を使用して、JMSベースおよびWebサービスのメッセージングのパフォーマンスを向上させる統一されたメッセージング・カーネルを提供しています。『Oracle WebLogic Serverサーバー環境の管理』のWebLogic永続ストアの使用方法に関する項を参照してください。
一方向メッセージ送信を使用すると、一般的な非永続メッセージングのパフォーマンスが大幅に改善される可能性があります。接続ファクトリに構成されている場合、関連するプロデューサはターゲット宛先のホストJMSサーバーからのレスポンスを内部的に待機せずに、メッセージを送信できます。キュー・センダーおよびトピック・パブリッシャに一方向送信を許可したり、この機能をトピック・パブリッシャのみに制限したりできます。「一方向ウィンドウ・サイズ」を指定して、追加の一方向送信を続行する前に、プロデューサを制御するために双方向メッセージが必要になる時期を決定することもできます。Oracle WebLogic Server管理コンソール・オンライン・ヘルプの接続ファクトリのフロー制御の構成に関する項を参照してください。
負荷ピーク時に仮想メモリーを自動的に解放するメッセージ・ページング。『Oracle WebLogic Serverのパフォーマンスのチューニング』のメッセージのページングによるメモリーの解放に関する項を参照してください。
管理者は、WebLogic Server管理コンソールまたは実行時APIを使用して、指定したしきい値サイズを超えるメッセージを圧縮することにより、JVMの境界を超えて移動するメッセージの送信パフォーマンスを向上できます。『Oracle WebLogic Serverのパフォーマンスのチューニング』のメッセージの圧縮に関する項を参照してください。
WebLogic Server管理コンソールまたは実行時APIを使用して、コンシューマのJMS接続ファクトリの「同期コンシューマのプリフェッチ・モード」オプションを有効にすることにより、同期コンシューマでも非同期コンシューマと同じ効率的な動作を利用できます。『Oracle WebLogic Server JMSアプリケーションの開発』のプリフェッチ・モードを使用した同期メッセージ・パイプラインの作成に関する項を参照してください。
JMSメッセージ用に様々なパフォーマンス・チューニング・オプションを提供します。『Oracle WebLogic Serverのパフォーマンスのチューニング』のWebLogic JMSのチューニングに関する項を参照してください。
単一トランザクションで複数のメッセージを処理することでMDBトランザクションのバッチ処理をサポートします。『Oracle WebLogic ServerメッセージドリブンBeanの開発』のメッセージドリブンBeanでのバッチの使用に関する項を参照してください。
JMS SAFにより、クラスタ間に渡るWebLogicメッセージング・ブリッジ以上のパフォーマンスが実現します。『Oracle WebLogic Serverのパフォーマンスのチューニング』のWebLogic JMSのストア・アンド・フォワードのチューニングに関する項を参照してください。
DOM (Document Object Model)によるXMLメッセージ送信のサポートにより、アプリケーションでXMLメッセージの送信前にDOMをフラット化する必要がなくなるため、すでにDOMを使用している実装のパフォーマンスが大幅に向上します。『Oracle WebLogic Server JMSアプリケーションの開発』のXMLメッセージの送信に関する項を参照してください。
負荷ピーク時のメッセージ・フロー制御。過度にアクティブな送信者のブロックもできます。『Oracle WebLogic Serverのパフォーマンスのチューニング』のJMSサーバーおよび宛先のメッセージのフロー制御に関する項と割当ての定義に関する項を参照してください。
JMS resource-referenceプーリングを使用したJMSラッパーによる接続および他のオブジェクトの自動的なプーリング。『Oracle WebLogic Server JMSアプリケーションの開発』のEJBとサーブレットにWebLogic JMSを使用するための拡張Java EEサポートに関する項を参照してください。
メッセージのマルチキャスト。IPマルチキャストを使用して多数のクライアントに同時配信できます。『Oracle WebLogic Server JMSアプリケーションの開発』のWebLogic JMSでのマルチキャストの使用方法に関する項を参照してください。
WebLogic JMSは、WebLogic Serverとの緊密な統合を実現するため、以下の機能を備えています。
宛先を同じサーバーにアプリケーションとして配置できるため、サーバー側アプリケーションからJMSにネットワーク呼び出しなしでローカルにアクセス可能です。
WebLogic Serverと同じポート、プロトコル、ユーザーIDを使用(T3、IIOP、およびHTTPトンネリング・プロトコル、必要に応じてSSL)。
WebLogic Serverによって提供されるWebサービス、Enterprise Java Beans (MDBを含む)、およびサーブレットをJMSと緊密に連携させることが可能です。
同じWebLogic Server管理コンソール、またはJMS APIを使用して構成とモニターが可能です。
WebLogic Scripting Tool (WLST)のサポートにより、対話形式で、または実行可能なスクリプトを使用して構成の変更の開始、管理、および永続化が可能です。第7章「WLSTを使用したJMSサーバーとJMSシステム・モジュール・リソースの管理」を参照してください。
JMXの管理およびモニターAPI群を完備。『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』を参照してください。
完全に統合されたトランザクション・マネージャ(『Oracle WebLogic Server JTAアプリケーションの開発』のトランザクションの概要に関する項を参照)。
WebLogic Serverに組み込まれた高度なセキュリティ・モデル(ポリシー・エンジン)を利用します。『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』のWebLogicセキュリティの理解に関する項とポリシーで保護できるリソースのタイプに関する項を参照してください。
WebLogic JMSは、他のメッセージング・サービスとの相互運用性のため、以下の機能を備えています。
以前のリリースのWebLogic Serverとの直接の相互運用を完全にサポートします。『Oracle WebLogic Serverインフォメーション・ロードマップ』の「WebLogic Serverの互換性」を参照してください。
メッセージをWebLogicメッセージング・ブリッジでトランザクションを介して他のJMSプロバイダへ転送します。WebLogic JMSの他のインスタンスやバージョンへも同様に転送します。『Oracle WebLogic Server WebLogicメッセージング・ブリッジの管理』を参照してください。
他のJMSプロバイダのマッピングをサポートします - これにより、他のJMSプロバイダのオブジェクトがWebLogic JNDIツリーにローカルJMSオブジェクトとして表示されます。また、ローカルのJNDIツリーで別のクラスタまたはドメインにあるWebLogic Serverのリモート・インスタンスも参照できます。「外部サーバーの構成」を参照してください。
MDBを使用することで、複数のJMSプロバイダからのメッセージをトランザクションとして受信可能です。『Oracle WebLogic ServerメッセージドリブンBeanの開発』のMDBのプログラミングと構成の詳細に関する項を参照してください。
WebサービスとJMSのトランスポートとしての信頼性ある統合。『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』のWebサービスの信頼性のあるメッセージングの使用に関する項を参照してください。
JMS resource-referenceプーリングによる、サーバー側アプリケーション内の非WebLogic JMSクライアント・リソースの自動トランザクション登録。『Oracle WebLogic Server JMSアプリケーションの開発』のEJBとサーブレットにWebLogic JMSを使用するための拡張Java EEサポートに関する項を参照してください。
WebLogic Tuxedo Connectorで提供されるOracle Tuxedoメッセージングとの統合。Oracle WebLogic Server WebLogic Tuxedo Connectorの管理のOracle Tuxedoキュー・ブリッジの構成方法に関する項を参照してください。
Weblogic JMS C APIにより、「C」で記述されたプログラムがJMSアプリケーションに参加可能です。このJMS C APIの実装では、Java仮想マシン(JVM)へのアクセスにJNIを使用します。『Oracle WebLogic Server JMSアプリケーションの開発』のWebLogic JMS C APIに関する項を参照してください。
Oracle Streams Advanced Queuing (AQ)は、メッセージを管理するためのOracleデータベース機能を活用するデータベース統合型メッセージ・キューイング機能を提供します。WebLogic Serverは、WebLogic Serverドメインで外部JMSおよびJDBCデータ・ソース構成を使用してOracle AQを相互運用します。ローカル/リモートJMSクライアントの両方がWebLogic JNDIからOracle AQ宛先を使用できます。第8章「Oracle AQ JMSの相互運用」を参照してください。
この項では、WebLogic Serverの最新パッチセットで新しく変更された機能を説明します。
WebLogic Serverのこのリリースに追加された新機能の一覧については、「Oracle WebLogic Serverの新機能」を参照してください。
このリリースには、次の新しい機能と変更された機能が含まれています。
Oracle AQ JMS用のActive GridLinkのサポート。「AQ JMS用のAGLデータ・ソースの構成」を参照してください。
動的クラスタおよび複合クラスタでのサーバー全体の移行(WSM)のサポート。『Oracle WebLogic Serverクラスタの管理』の動的クラスタおよび複合クラスタでのサーバー全体の移行に関する項を参照してください。動的クラスタおよび複合クラスタでのWSMは、WebLogic Server 12.1.3より前にはサポートされていませんでした。
クラスタ化されたターゲットJMSサーバーを使用すると、JMSサーバーおよび永続ストアをクラスタに対して直接ターゲット指定して、クラスタ内のサーバーごとに多数のJMSリソース・アーティファクトを個別に構成する必要がなくなり、構成プロセスが簡略化されます。これにより、動的クラスタ内のJMSリソース、および混合クラスタの動的メンバーの動的なスケーリングも可能になります。
詳細は、「簡略化されたJMSクラスタ構成」を参照してください。
JMS相互運用モジュールは、WebLogic Server 12.1.1.0では非推奨です。既存のJMS相互運用モジュールを標準のJMSシステム・モジュールに変換することをお薦めします。「JMS相互運用モジュール(非推奨)」を参照してください。