Oracle® Fusion Middleware Oracle WebLogic Server JMSの構成と管理 11g リリース1(10.3.4) B61636-02 |
|
前 |
次 |
以下の節の手順では、JMSサーバーやJMSシステム・モジュールといった基本JMSシステム・リソースの構成と管理の方法について説明します。
WebLogic管理者は以下のツールを使用して、JMSサーバーやJMSシステム・モジュールといったシステム・リソースを作成してデプロイ(ターゲット指定)できます。
WebLogic Server管理コンソールを使用すると、以下のJMS関連リソースを構成、変更、およびターゲット指定できます。
JMSサーバー。「JMSサーバーの構成」を参照してください。
JMSシステム・モジュール。「JMSシステム・モジュールの構成」を参照してください。
JMSのストア・アンド・フォワード・サービス。『Oracle Fusion Middleware Oracle WebLogic Serverストア・アンド・フォワードの構成と管理』の「JMSメッセージに対するSAFの構成」を参照してください。
永続ストア。『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』の「WebLogic永続ストアの使い方」を参照してください。
WebLogic Scripting Tool (WLST)は、コマンド・ライン形式のスクリプト・インタフェース。システム管理者とオペレータは、このツールを使用して、WebLogic Serverの構成の変更を対話形式または実行可能なスクリプトで開始、管理、および永続化できます。第6章「WLSTを使用したJMSサーバーおよびJMSシステム・モジュール・リソースの管理」を参照してください。
WebLogic Java Management Extensions (JMX)は、ネットワーク上でリソースを監視したり管理したりするためのJava EEソリューション。『Oracle Fusion Middleware Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』の「WebLogic ServerサブシステムMBeanの概要」を参照してください。
JMSModuleHelper
拡張クラスには、特定のモジュールのJMSモジュール構成リソースを作成および管理するためのメソッドが含まれています。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』の「JMSモジュール・ヘルパーを使用したアプリケーションの管理」またはJMSModuleHelper Class
のJavadocを参照してください。
注意: エンタープライズ・アプリケーション内でのJMSアプリケーション・モジュールの構成およびデプロイについては、第5章「JMSアプリケーション・モジュールのデプロイメントの構成」を参照してください。 |
この項では、管理コンソールを使用して、永続ストア、JMSサーバー、および基本的なJMSシステム・モジュールを構成する方法について説明します。管理コンソールを使用してWebLogic Serverドメインを管理する手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプを参照してください。
WebLogic JMSでは、一部構成オプションに対するデフォルト値が用意されていますが、それ以外のすべての属性に対しては値を指定する必要があります。WebLogic JMSを構成すると、アプリケーションでJMS APIを使用してメッセージの送受信ができるようになります。デフォルトの構成パラメータのチューニングの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』、またはOracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのJMSBeanに関する項を参照してください。
永続メッセージングが必要な場合、次のストレージ・オプションのいずれかを使用します。
永続メッセージをファイル・ベースのストアに格納するには、サーバーのデフォルトの永続ストアを使用します。これはユーザー側で構成する必要はありません。なお、JMS専用のファイル・ストアを作成することもできます。『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』の「カスタム(ユーザー定義)ファイル・ストアの作成」を参照してください。
JDBCによるアクセスが可能なデータベースに永続的メッセージを格納するには、JDBCストアを作成する必要があります。『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』の「JDBCストアの作成」を参照してください。
JMSサーバーを構成して、JMSシステム・モジュール内のキューおよびトピック宛先に届くメッセージを管理します。「JMSサーバーの概要」を参照してください。
JMSシステム・モジュールを構成して、宛先および他のリソース(キュー、テンプレート、宛先キー、分散宛先、接続ファクトリなど)を含めます。「JMSシステム・モジュール」を参照してください。
システム・モジュールに任意のキューやトピックを作成する前には、必要に応じてJMSテンプレート、割当て設定、宛先ソート・キーなど、キューまたはトピック内から参照可能な他のJMSリソースをモジュール内に作成できます。
宛先に割当てリソースを定義します。宛先に独自の割当てを定義したり、複数の宛先が1つの割当てを共有したり、宛先がJMSサーバーの割当てを共有したりできます。「割当ての構成」を参照してください。
同じようなオプション設定で複数の宛先を定義するためのJMSテンプレートを作成します。「JMSテンプレートの構成」を参照してください。
宛先で受信するメッセージのソート順序を独自に定義するための宛先キーを構成します。「宛先キーの構成」を参照してください。
これらのリソースは構成後、キューまたはトピック・リソースを構成するときに選択できます。
システム・モジュールに、キューまたはトピック(あるいはその両方)の宛先を構成します。
複数の宛先に対するメッセージの配信用(パブリッシュ/サブスクライブ)には、スタンドアロンのトピックを構成します。「キューおよびトピック宛先の構成」を参照してください。
1つの宛先のみに対するメッセージの配信用(ポイントツーポイント)には、スタンドアロンのキューを構成します。「キューおよびトピック宛先の構成」を参照してください。
WebLogic Serverに用意されているデフォルトの接続ファクトリがアプリケーションに適さない場合は、接続ファクトリを作成して、JMSクライアントがJMS接続を作成できるようにします。
デフォルト接続ファクトリの使用の詳細は、「デフォルト接続ファクトリの使用」を参照してください。接続ファクトリの構成の詳細は、「接続ファクトリの構成パラメータ」を参照してください。
WebLogic JMSでは、一部の構成オプションに対するデフォルト値が用意されていますが、それ以外のすべての属性に対しては値を指定する必要があります。WebLogic JMSを構成すると、アプリケーションでJMS APIを使用してメッセージの送受信ができるようになります。
JMSシステム・モジュールには、基本的なJMSリソース構成以外にも以下の拡張リソースを追加できます。
共通分散宛先リソースを作成して、各メンバーが別個のJMSサーバーに属するクラスタ内で分散されるキューまたはトピックのセットを構成できます。「分散宛先リソースの構成」を参照してください。
JMSストア・アンド・フォワード・リソースを作成することで、送信時に宛先が使用不可能な場合にも、メッセージをリモートの宛先へ確実に転送できます。『Oracle Fusion Middleware Oracle WebLogic Serverストア・アンド・フォワードの構成と管理』の「WebLogicストア・アンド・フォワードの構成と管理」を参照してください。
外部サーバー・リソースを作成して、ローカルWebLogic Server JNDIツリー内でサード・パーティのJMSプロバイダを参照するようにできます。「外部サーバー・リソースからサード・パーティJMSプロバイダへのアクセスの構成」を参照してください。
ドメインの内部では、サーバー、マシン、クラスタ、仮想ホスト、およびその他のリソース・タイプのそれぞれに一意の名前を付ける必要があります。また、ドメインと同じ名前を使用することはできません。この命名規則は、JMSサーバー、JMSシステム・モジュール、JMSアプリケーション・モジュールなどの構成可能なJMSオブジェクトを含むすべての構成オブジェクトにも適用されます。
JMSモジュール内のリソースの名前は、リソース・タイプ(キュー、トピック、接続ファクトリなど)ごとに一意でなければなりません。ただし、2つの異なるJMSモジュールに、同じ名前、同じタイプのリソースを作成できます。
また、バインディング可能なJMSリソース(割り当て、宛先キー、およびJMSテンプレートを除く)のJNDI名は、すべてのJMSモジュールにわたって一意でなければなりません。
注意: 2つの異なるWebLogicドメインが相互運用する場合や、クライアントが複数のWebLogicドメインと通信する場合、WebLogicドメイン、WebLogicサーバー、WebLogic JMSサーバーの名前には、一意のネーミング要件を追加する必要があります。詳細は、「統合およびマルチドメインのベスト・プラクティス」を参照してください。 |
JMSサーバーは、それらのターゲットとして指定されたJMSモジュール内のJMSキューおよびトピック・リソースの管理コンテナとして機能する、環境関連の構成エンティティです。JMSサーバーの最も重要な役割は、JMSサーバーの宛先が受信するすべての永続メッセージに使用される永続ストアに関する情報を管理し、また、JMSサーバーの宛先で作成される恒久サブスクライバの状態を管理することです。また、ターゲット宛先のコンテナとして、JMSサーバーに対して加えられた構成の変更または実行時の変更をすべての宛先に対して有効にできます。
注意: サンプル・サーバーの製品には、examplesJMSServer の構成例が提供されています。基本的なWebLogic JMSアプリケーションの開発の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』の「基本的なWebLogic JMSアプリケーションの開発」を参照してください。 |
WebLogic Server管理コンソールを使用すると、システム・モジュール内のJMSサーバー・リソースを構成、変更、ターゲット指定、および削除できます。JMSサーバー・タスクの手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSサーバー構成に関する項を参照してください。
以下のパラメータをJMSサーバーに構成できます。
全般構成パラメータ。永続ストレージ、メッセージ・ページングのデフォルト、アプリケーションが一時的な宛先を作成する場合に使用するテンプレート、および期限切れメッセージのスキャンなどのパラメータがあります。
特定のJMSサーバーに割り当てられるJMSシステム・モジュール内の宛先のしきい値および割当てパラメータ。
JMSサーバーと宛先に対するメッセージおよびバイト割当ての構成については、『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』を参照してください。
JMSサーバーのログ・ファイル用のメッセージ・ロギング・パラメータ。ログ・ファイルには、メッセージの生成、消費、削除など、JMSメッセージが通過する基本的なイベントが記録されます。
JMSサーバーのメッセージ・ライフ・サイクル・ロギングの構成の詳細については「メッセージ・ライフ・サイクルのロギング」を参照してください。
宛先の休止と再開の制御。これらを使用すると、単一のJMSサーバーによってホストされるすべての宛先でのメッセージの生成、挿入(処理中のメッセージ)、および消費処理を休止できます。
宛先でのメッセージ処理の休止については、「宛先でのメッセージ処理の制御」を参照してください。
一部のJMSサーバー・オプションは、動的に構成できます。オプションを実行時に変更した場合、新しく配信されるメッセージにのみ適用され、すでに保存されているメッセージには影響しません。すべてのJMSサーバー・オプションのデフォルト値については、Oracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのJMSServerBeanおよびJMSServerRuntimeMBeanに関する項を参照してください。
JMSサーバーは、デプロイ先となる独立したWebLogic Serverインスタンスまたは移行可能なターゲット・サーバーのターゲットとして指定できます。
Weblogicサーバー・インスタンス - JMSサーバーのデプロイ先となるサーバー・ターゲットです。ターゲットWebLogic Serverが起動すると、JMSサーバーも起動します。ターゲットWebLogic Serverが指定されていない場合、JMSサーバーは起動しません。
移行可能ターゲット - JMSサーバーなどのように、「必ず1回」のサービスのホストとなり得る、クラスタ内のWebLogic Serverインスタンスのセットを定義したものです。移行可能なターゲット・サーバーが起動すると、クラスタ内のユーザーが優先すると指定したサーバー上でJMSサーバーも起動します。ただし、JMSサーバーとそのすべての宛先は、サーバーの障害に対応するため、または予定されていた移行またはシステム・メンテナンスのためにクラスタ内の別のサーバーに移行できます。JMSサービスの移行可能ターゲットの構成については、「JMS関連サービスの移行」を参照してください。
管理コンソールを使用したJMSサーバー・ターゲットの指定手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSサーバー・ターゲットの変更に関する項を参照してください。JMSサーバー・ターゲット指定のベスト・プラクティスについては、「ターゲット指定のベスト・プラクティス」を参照してください。
アクティブなJMSサーバー、宛先、およびサーバー・セッション・プールの実行時統計をモニターできます。
「すべてのアクティブなJMSサーバーのモニター」 - WebLogic ServerドメインにデプロイされているすべてのJMSサーバー・インスタンスを示す表が表示されます。
「すべてのアクティブなJMS宛先のモニター」 - 現在のドメインのすべてのアクティブなJMS宛先を示す表が表示されます。
「すべてのアクティブなJMSセッション・プール・ランタイムのモニター」 - 現在のドメインのすべてのアクティブなJMSセッション・プールを示す表が表示されます。
JMSオブジェクトの監視の詳細は、第8章「JMS統計の監視とメッセージの管理」を参照してください。
注意: セッション・プールおよび接続コンシューマの構成オブジェクトは、WebLogic Server 9.xで非推奨となっています。これらは、J2EE仕様の必須コンポーネントではなく、JTAユーザー・トランザクションもサポートされていないためです。かわりに、J2EEの必須コンポーネントであるメッセージドリブンBean (MDB)が主に使用されています。MDBの設計の詳細は、『Oracle Fusion Middleware Oracle WebLogic ServerメッセージドリブンBeanのプログラミング』を参照してください。 |
サーバー・セッション・プールを使用すると、アプリケーションでメッセージを並行処理できます。JMSサーバーを定義したら、JMSサーバーごとに1つまたは複数のセッション・プールを構成できます。一部のセッション・プール・オプションは動的に構成できますが、新しい値はJMSサーバーを再起動するまで有効になりません。『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』の「サーバー・セッション・プールの定義」を参照してください。
接続コンシューマは、サーバー・セッションを取得してメッセージを処理するキュー(ポイント・ツー・ポイント)またはトピック(Pub/Sub)です。セッション・プールを定義したら、セッション・プールごとに1つまたは複数の接続コンシューマを構成します。『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』の「サーバー・セッション・プールの定義」を参照してください。
JMSシステム・モジュールは管理者が所有し、いつでもJMSシステム・リソースを削除、変更、または追加できます。単一のJMSサーバーのターゲットとなるスタンドアロンのキューおよびトピック・リソースを除き、システム・モジュール内の接続ファクトリ、分散宛先、外部サーバー、およびJMS SAF宛先リソースは、WebLogicドメインに構成された複数のサーバー・インスタンスとクラスタのターゲットとして指定することによってグローバルに使用できるようになります。このため、これらのリソースは、同じターゲットにデプロイされるすべてのアプリケーションとクライアント・アプリケーションで使用できます。JMSシステム・モジュールのネーミング・ルールは、MyJMSModule
-jms.xml
です。
WebLogic Server管理コンソールを使用すると、使用している環境のJMSシステム・モジュールを構成、変更、ターゲット指定、監視、および削除できます。JMSシステム・モジュールの構成タスクの手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールの構成およびJMSリソースの追加に関する項を参照してください。
以下の「基本的な」構成リソースをJMSシステム・モジュールの一部として定義します。
キューおよびトピック宛先(「キューおよびトピック宛先の構成」を参照)。
接続ファクトリ(「接続ファクトリの構成」を参照)。
テンプレート(「JMSテンプレートの構成」を参照)。
宛先キー(「宛先キーの構成」を参照)。
割当て(「割当ての構成」を参照)。
以下の「拡張」クラスタリング構成リソースをJMSシステム・モジュールの一部として定義します。
外部サーバー(「外部サーバー・リソースからサード・パーティJMSプロバイダへのアクセスの構成」を参照)。
分散宛先(「分散宛先リソースの構成」を参照)。
JMSのストア・アンド・フォワード構成。『Oracle Fusion Middleware Oracle WebLogic Serverストア・アンド・フォワードの構成と管理』の「JMSメッセージに対するSAFの構成」を参照してください。
サンプル・サーバーには、製品と一緒にサンプル・モジュールとしてexamples-jms
が用意されています。サンプル・サーバーの起動の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverサーバーの起動と停止の管理』の「サーバーの起動と停止」を参照してください。
JMSシステム・モジュールのその他の構成方法(WebLogic Scripting Tool (WLRT)を使用する方法など)については、「JMSシステム・リソースの構成方法」を参照してください。
JMSシステム・モジュールは、1つまたは複数のWebLogic Serverインスタンスまたは1つのクラスタのターゲットでなければなりません。また、システム・モジュールに定義されているターゲット指定できるJMSリソースは、親モジュールのターゲットの範囲内のJMSサーバーまたはWebLogic Serverインスタンスのターゲットでなければなりません。また、システム・モジュール内のターゲット指定できるJMSリソースを構成またはターゲット指定プロセス中にサブデプロイメントとしてグループ化すると、WebLogicドメイン内のJMSリソースの結合度を減らすことができます。
管理コンソールでJMSシステム・モジュール内にリソースを構成する際には、親モジュールのデフォルトのターゲットを単純に受け入れることも、高度なターゲット指定のページに進んで、サブデプロイメントのメカニズムを使用してリソースをターゲット指定することもできます。ただし、スタンドアロンのキューおよびトピック・リソース・タイプではデフォルトのターゲットを使用できません。これらは単一のJMSサーバーにターゲット指定されているサブデプロイメントにターゲット指定する必要があります。
デフォルトのターゲット指定メカニズムを選択する場合、そのターゲット・ステータスは管理コンソール上で当該リソース・タイプの「構成:全般」ページにある「デフォルトのターゲット指定を有効化」チェック・ボックスに反映されます。
JMSシステム・リソースの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールのリソースの構成に関する項を参照してください。
スタンドアロンのキューおよびトピック・リソースをターゲット指定する場合、または他のリソース・タイプに対してデフォルトのターゲット指定メカニズムをバイパスする場合、高度なターゲット指定(サブデプロイメントのターゲット指定)を使用する必要があります。サブデプロイメントとは、ターゲット指定できるシステム・モジュール・リソース(スタンドアロンの宛先、分散宛先、接続ファクトリなど)をグループ化して、システム・モジュールのターゲット指定範囲内の特定のサーバー・リソースに割り当てるメカニズムです。
JMSシステム・モジュールはドメイン内の複数のWebLogic Serverインスタンスのターゲットとして指定できますが、モジュールのスタンドアロンのキューまたはトピックは単一のJMSサーバーのみのターゲットとなることができます。一方、接続ファクトリ、共通分散宛先(UDD)、および外部サーバーは、1つまたは複数のJMSサーバー、1つまたは複数のWebLogic Serverインスタンス、または1つのクラスタのターゲットとして指定できます。
したがってスタンドアロンのキューまたはトピックは、サブデプロイメントの他のメンバーが複数のJMSサーバーにターゲット指定されている場合、そのサブデプロイメントに関連付けられません。このような例としては、接続ファクトリがドメイン内のJMSサーバーをホストするクラスタに対してターゲット指定されている場合などが挙げられます。UDDを使用すると、こうしたサブデプロイメントとも関連付けることができます。これは、UDDがドメイン内の複数のJMSサーバーに対してメンバーを分散させることを目的としているためです。
表3-1にJMSシステム・リソースのサブデプロイメントの有効なターゲット指定オプションを示します。
表3-1 JMSシステム・リソースのサブデプロイメントのターゲット指定
JMSリソース | 有効なターゲット |
---|---|
キュー |
JMSサーバー |
トピック |
JMSサーバー |
接続ファクトリ |
JMSサーバー(複数可)、サーバー・インスタンス(複数可)、クラスタ |
共通分散キュー |
JMSサーバー(複数可)、サーバー・インスタンス(複数可)、クラスタ |
共通分散トピック |
JMSサーバー(複数可)、サーバー・インスタンス(複数可)、クラスタ |
外部サーバー |
JMSサーバー(複数可)、サーバー・インスタンス(複数可)、クラスタ |
SAFインポート済み宛先 |
SAFエージェント(複数可)、サーバー・インスタンス(複数可)、クラスタ |
注意: 接続ファクトリ、共通分散宛先、外部サーバー、およびSAFインポート済み宛先リソースは、デフォルトでそれらの親モジュールのターゲットを指定するよう構成することもできます。「デフォルトのターゲット指定」を参照してください。デフォルトのターゲット指定、サーバー・インスタンスのターゲット指定、クラスタのターゲット指定は、どのタイプの宛先(非分散宛先、分散宛先、またはSAFインポート宛先)にも推奨されません。かわりに、JMSサーバーを含むサブデプロイメントのターゲット(SAFインポート宛先の場合はSAFエージェントを含むサブデプロイメントのターゲット)を使用します。「ターゲット指定のベスト・プラクティス」を参照してください。 |
スタンドアロンのキューまたはトピックの単純なサブデプロイメントの例として、それらを接続ファクトリと共にグループ化して特定のJMSサーバーに配置することが考えられます。これにより、ネットワーク・トラフィックが減少します。また、ターゲットのJMSサーバーを別のWebLogic Serverインスタンスに移行する必要がある場合、接続ファクトリとそのすべての接続もJMSサーバーの宛先と一緒に移行されます。
たとえば、jmssysmod-jms.xmlというシステム・モジュールが、jmsserver1とjmsserver2という構成済みの2つのJMSサーバーを持つWebLogic Serverインスタンスのターゲットとして指定されており、2つのキューと1つの接続ファクトリをjmsserver1だけに配置する場合、これらのキューと接続ファクトリを同じサブデプロイメント、jmsserver1groupとしてグループ化すれば、これらのリソースは常にjmsserver1にリンクされます(接続ファクトリが複数のJMSサーバーに関連付けられていない場合)。
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms"> <connection-factory name="connfactory1"> <sub-deployment-name>jmsserver1group</sub-deployment-name> <jndi-name>cf1</jndi-name> </connection-factory> <queue name="queue1"> <sub-deployment-name>jmsserver1group</sub-deployment-name> <jndi-name>q1</jndi-name> </queue> <queue name="queue2"> <sub-deployment-name>jmsserver1group</sub-deployment-name> <jndi-name>q2</jndi-name> </queue> </weblogic-jms>
次に、ドメインの構成ファイルでのjmsserver1groupサブデプロイメントのターゲット指定を示します。
<jms-system-resource> <name>jmssysmod-jms</name> <target>wlsserver1</target> <sub-deployment> <name>jmsserver1group</name> <target>jmsserver1</target> </sub-deployment> <descriptor-file-name>jms/jmssysmod-jms.xml</descriptor-file-name> </jms-system-resource>
JMSシステム・モジュールのサブデプロイメントを簡単に管理するため、管理コンソールにサブデプロイメントの管理用ページが用意されています。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールのサブデプロイメントの構成に関する項を参照してください。
スタンドアロンJMSモジュールのデプロイについては、『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』の「JDBC、JMS、およびWLDFアプリケーション・モジュールのデプロイ」を参照してください。
接続ファクトリは、JMSクライアントがJMS接続を作成できるようにするリソースです。接続ファクトリでは同時使用がサポートされており、複数のスレッドがオブジェクトに同時にアクセスできます。WebLogic JMSには、サーバー単位で有効/無効を切り替えられる構成済みのデフォルト接続ファクトリが用意されています(「デフォルト接続ファクトリの使用」を参照)。
デフォルトの接続ファクトリを使用しない場合、1つまたは複数の接続ファクトリを構成して、使用するアプリケーションに合わせて定義したオプションで接続を作成します。各JMSモジュール内では、接続ファクトリ・リソースの名前は一意でなければなりません。また、「JMS構成のネーミング要件」で定義したように、あらゆるJMSモジュールの接続ファクトリのJNDI名もすべて、WebLogicドメイン全体で一意でなければなりません。WebLogic Serverでは、こうした名前が起動時にJNDIスペースへ追加された後、アプリケーションでWebLogic JNDI APIを使用して接続ファクトリが取得されます。
クラスタ内のあらゆるサーバーからJMS宛先へのクラスタ全体で透過的なアクセスを確立するには、サーバー・インスタンスごとにデフォルト接続ファクトリを使用するか、クラスタ内の1つまたは複数のサーバー・インスタンスをターゲットとする1つまたは複数の接続ファクトリを構成します。これにより、各接続ファクトリを複数のWebLogic Serverインスタンスにデプロイできます。JMSのクラスタリングの構成の詳細は、「WebLogic JMSクラスタリングの構成」を参照してください。
WebLogic Serverは、次のJNDI名を使用してルックアップできる、2つのデフォルト接続ファクトリを定義します。
weblogic.jms.ConnectionFactory
weblogic.jms.XAConnectionFactory
新しい接続ファクトリの構成は、デフォルト接続ファクトリの構成済設定がアプリケーションに適さない場合にのみ行います。デフォルトの接続ファクトリの使用の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』の「WebLogic JMSについて」を参照してください。
デフォルト接続ファクトリの構成済設定とユーザー定義の接続ファクトリの主な違いは、JTAトランザクションを有効にするための「XA接続ファクトリの有効化」オプションのデフォルト値です。「XA接続ファクトリの有効化」オプションの詳細、およびその他の接続ファクトリ・オプションのデフォルト値については、Oracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのJMSConnectionFactoryBeanに関する項を参照してください。
また、デフォルト接続ファクトリを使用する場合、接続ファクトリがデプロイされる可能性のあるWebLogic Serverインスタンスを限定できません。ただし、WebLogic Server単位でデフォルト接続ファクトリを有効化および無効化することはできます。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのサーバー: 構成: サービスに関する項を参照してください。
注意: デフォルトの接続ファクトリはチューニングできないため、デフォルトの接続ファクトリではなく、カスタム接続ファクトリを使用することをお薦めします。カスタム接続ファクトリはチューニング可能であるため、アプリケーションを本番環境にした後でもアプリケーションのチューニングをする場合に役立ちます。 |
WebLogic Server管理コンソールを使用すると、システム・モジュール内の接続ファクトリ・リソースを構成、変更、ターゲット指定、および削除できます。JMS接続の構成タスクの手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの接続ファクトリの構成に関する項を参照してください。
接続ファクトリの以下のパラメータを変更できます。
全般構成パラメータ。デフォルト・クライアント・パラメータの変更、デフォルト・メッセージ配信パラメータ、ロード・バランシング・パラメータ、順序単位パラメータ、セキュリティ・パラメータなどが含まれます。
トランザクション・パラメータ。これらを使用すると、トランザクション・タイムアウト・オプションの値の定義、XAキューまたはXAトピック接続ファクトリが返されるどうかの指定、および接続ファクトリでJTA対応セッションが作成されるかどうかの指定ができます。
注意: 「XA接続ファクトリを有効化」オプションを選択してJDBCストアでのJTAトランザクションを有効にした場合は、JDBCデータ・ソースがXA非対応のJDBCドライバを使用するように構成されていることを確認する必要があります。この制約によって、JDBCストアを使用するレイヤー・サブシステムのXA機能が使用できなくなるわけではありません。たとえば、WebLogic JMSは、ファイル・ストアやJDBCストアを使用するかどうかに関係なく完全にXA機能を使用できます。 |
フロー制御パラメータ。これらを使用すると、JMSサーバーまたは宛先で過負荷の状態になりつつあると判断された場合にメッセージ・プロデューサを低速化できます。
接続ファクトリ・オプションの中には、動的に構成できるものもあります。オプションを実行時に変更した場合、新しく配信されるメッセージにのみ適用され、すでに保存されているメッセージには影響しません。すべての接続ファクトリ・オプションのデフォルト値については、Oracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのJMSConnectionFactoryBeanに関する項を参照してください。
接続ファクトリは、1つまたは複数のJMSサーバー、1つまたは複数のWebLogic Serverインスタンス、または1つのクラスタのターゲットとして指定できます。
JMSサーバー - 接続ファクトリは、宛先と共に1つまたは複数のJMSサーバーのターゲットとして指定できます。また、接続ファクトリは、スタンドアロンのキューまたはトピックと共に、特定のJMSサーバーのターゲットとなるサブデプロイメントにグループ化できます。これにより、グループ化されたすべてのリソースが同じ場所に配置され、余分なネットワーク・トラフィックを回避できます。この構成のもう1つのメリットは、ターゲットのJMSサーバーを別のWebLogic Serverインスタンスに移行する必要がある場合、接続ファクトリとそのすべての接続もJMSサーバーの宛先と一緒に移行されることです。しかし、スタンドアロンのキューまたはトピックがサブデプロイメントのメンバーである場合、接続ファクトリは同じJMSサーバーのみに関連付けることができます。
WebLogicサーバー・インスタンス - ドメイン内のあらゆるサーバーからJMS宛先への透過的なアクセスを確立するために、接続ファクトリを複数のWebLogic Serverインスタンスに同時に関連付けることができます。
クラスタ - クラスタ内のすべてのサーバー・インスタンスまたは特定のサーバーに1つの接続ファクトリを関連付けることで、クラスタ内のあらゆるサーバーからJMS宛先へのクラスタ全体で透過的なアクセスを確立できます。
JMSシステム・モジュールのサブデプロイメントのターゲット指定については、「JMSシステム・モジュールとリソースのサブデプロイメントのターゲット指定」を参照してください。接続ファクトリのターゲット指定のベスト・プラクティスについては、「ターゲット指定のベスト・プラクティス」を参照してください。
JMS宛先は、JMSモジュール内のキュー(ポイント・ツー・ポイント)またはトピック(パブリッシュ/サブスクライブ)リソースを識別するものです。各キューおよびトピック・リソースは、特定のJMSサーバーのターゲットとして指定されます。JMSサーバーの最も重要な役割は、JMSサーバーの宛先が受信するすべての永続メッセージに使用される永続ストアに関する情報を管理し、また、JMSサーバーの宛先で作成される恒久サブスクライバの状態を管理することです。
必要な場合、JMSテンプレート、割当て設定、宛先ソート・キーなど、キューまたはトピック内から参照できる他のJMSリソースをモジュール内に作成できます。
割当て - 宛先に割当てを定義したり、複数の宛先が1つの割当てを共有したり、宛先がJMSサーバーの割当てを共有したりできます。『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』を参照してください。
JMSテンプレート - 同じようなオプション設定で複数の宛先を定義できます。JMSテンプレートは、一時キューの作成にも必要です。「JMSテンプレートの構成」を参照してください。
宛先キー - 宛先で受信するメッセージのソート順序を独自に定義できます。「宛先キーの構成」を参照してください。
JMSキューでは、JMSサーバーのポイントツーポイントの宛先タイプが定義されます。キューに配信されたメッセージは、1つのコンシューマに配信されます。JMSトピックでは、JMSサーバーのパブリッシュ/サブスクライブの宛先タイプが定義されます。トピックは、非同期のピア通信に使用されます。トピックに配信されたメッセージは、そのトピックでサブスクライブしているすべてのコンシューマに配信されます。
WebLogic Server管理コンソールを使用すると、システム・モジュール内のキューおよびトピック・リソースを構成、変更、ターゲット指定、および削除できます。キューおよびトピックのタスクの手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキューの構成とトピックの構成に関する項を参照してください。キューおよびトピック・リソースの名前は、各JMSモジュール内で一意でなければなりません。また、各JMSモジュール内のすべてのキューおよびトピックのJNDI名は、WebLogicドメイン全体にわたって一意でなければなりません(「JMS構成のネーミング要件」を参照)。
以下のパラメータをキューまたはトピックに構成できます。
全般構成パラメータ。JNDI名、宛先に届くメッセージをソートする宛先キー、または複数の宛先のプロパティの構成にJMSテンプレートを使用する場合のJMSテンプレートの選択などのパラメータがあります。
注意: キューおよびトピックのJNDI名は動的に変更できますが、MDBのように長期間存続するプロデューサまたはコンシューマは、変更後もキューまたはトピックの元のJNDI名からメッセージを生成したり、元のJNDI名にメッセージを送信したりしようと試みることがあります。 |
しきい値および割当てパラメータ。これらのパラメータによって、宛先のメッセージ数またはバイト数の最大および最小しきい値と最大割当てを定義します。「割当ての構成」を参照してください。
メッセージ・ロギング・パラメータ。メッセージ・タイプ、ユーザー・プロパティ、JMSログ・ファイルに含めるロギング・メッセージのライフ・サイクル情報などがあります。
「メッセージ・ライフ・サイクルのロギング」を参照してください。メッセージの生成、メッセージの挿入(処理中のメッセージ)、および宛先でのメッセージの消費の処理についての停止と再開を制御します。「宛先でのメッセージ処理の制御」を参照してください。
メッセージ配信オーバーライド・パラメータ。メッセージの優先順位や配信時間の値など、メッセージ・プロデューサまたは接続ファクトリによって指定されている値をオーバーライドできます。
メッセージ配信の失敗に関するパラメータ。再配信の制限の定義、メッセージ有効期限ポリシーの選択、期限切れメッセージのエラー宛先の指定などが含まれます。
(トピックのみ)マルチキャスト・パラメータ。マルチキャスト・アドレス、存続時間(TTL)、ポートなどがあります。
オプションには、動的に構成できるものがあります。オプションが実行時に変更された場合、変更は新しく配信されるメッセージにのみ適用され、格納されているメッセージには影響しません。すべてのオプションのデフォルト値については、Oracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのQueueBeanおよびTopicBeanに関する項を参照してください。
リカバリまたはロールバックされるメッセージを管理するために、再配信の制限に達したメッセージのエラー宛先を構成することもできます。エラー宛先はキューまたはトピックのいずれかですが、関連付けられている宛先と同じJMSサーバーのターゲットでなければなりません。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』の「配信されなかったメッセージに対するエラー宛先の構成」を参照してください。
分散宛先リソースは、単一の論理的な単位としてクライアントからアクセス可能な宛先のグループ(キューまたはトピック)です(たとえば分散トピックは独自のJNDI名を持ちます)。このセットのメンバーは通常、クラスタ内の複数のサーバーに分散されており、各メンバーは別々のJMSサーバーに属しています。「分散宛先の構成」を参照してください。
スタンドアロンのキューおよびトピックは、ドメイン内の特定のJMSサーバーのみにデプロイできます。これは、永続メッセージ、恒久サブスクライバ、およびメッセージ・ページングの管理に関して、キューおよびトピックはターゲット指定されたJMSサーバーに依存するからです。
キューとトピックのグループを接続ファクトリと共に特定のJMSサーバーに関連付ける場合、これらの宛先と接続ファクトリを同じサブデプロイメントのターゲットとして指定します。これによって、これらのリソースはサブデプロイメントのターゲットとなるJMSサーバーに関連付けられます。しかし、スタンドアロンのキューまたはトピックがサブデプロイメントのメンバーである場合、接続ファクトリは同じJMSサーバーのみに関連付けることができます。
JMSシステム・モジュールのサブデプロイメントのターゲット指定については、「JMSシステム・モジュールとリソースのサブデプロイメントのターゲット指定」を参照してください。接続ファクトリのターゲット指定のベスト・プラクティスについては、「ターゲット指定のベスト・プラクティス」を参照してください。
システム・モジュール内のキューおよびトピックの実行時統計をモニターできます。また、キューのメッセージおよびトピックの恒久サブスクライバを管理できます。
管理コンソールを使用したキューの監視の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールのキューの監視に関する項を参照してください。
キューのメッセージの管理については、「JMSメッセージの管理」を参照してください。
管理コンソールを使用したトピックの監視の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールのトピックの監視に関する項を参照してください。
トピックの恒久サブスクライバの管理については、「JMSメッセージの管理」を参照してください。
JMSテンプレートを使用すると、同じようなオプション設定を持つ複数の宛先を効率的に定義できます。
新しい宛先を定義するたびにすべてのオプション設定を再入力する必要がありません。JMSテンプレートを使用して、新しい値の割当てが必要な設定のみをオーバーライドします。
テンプレートを変更するだけで、共有されるオプション設定を動的に変更できます。
エラー宛先のサブデプロイメントを定義して、任意の数の宛先のサブデプロイメント(キューまたはトピックのグループ)が、対応するテンプレート・サブデプロイメントで指定されたエラー宛先のみを使用するようにできます。
WebLogic Server管理コンソールを使用すると、システム・モジュール内のJMSテンプレート・リソースを構成、変更、ターゲット指定、および削除できます。JMSテンプレート・タスクの手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSテンプレートの構成に関する項を参照してください。
JMSテンプレートの構成可能なオプションは、宛先に対して構成されるオプションと同じです。「キューおよびトピックの構成パラメータ」を参照してください。
これらの構成オプションは、それらを使用する宛先によって継承されます。ただし、以下の例外があります。
JMSテンプレートを使用する宛先でオプションのオーバーライド値が指定される場合は、そのオーバーライド値が使用されます。
JMSテンプレートを使用する宛先でオプションのメッセージ再配信値が指定される場合は、その再配信値が使用されます。
「名前」オプションは、宛先によって継承されません。この名前はJMSテンプレートでのみ有効です。宛先では、個々に一意の名前を明示的に定義しなければなりません。「JMS構成のネーミング要件」を参照してください。
「JNDI名」、「ストアを有効化」、「テンプレート」の各オプションは、JMSテンプレートでは定義されません。
エラー宛先のサブデプロイメントを構成して、任意の数の宛先のサブデプロイメント(キューまたはトピックのグループ)が、対応するテンプレート・サブデプロイメントで指定されたエラー宛先のみを使用するようにできます。
宛先に対して明示的に定義されないオプションには、デフォルト値が割り当てられます。デフォルト値が存在しない場合は、必ず、JMSテンプレートで値を指定するか、または宛先のオプションのオーバーライド値として値を指定します。
一部のテンプレート・オプションは動的に構成できます。オプションが実行時に変更された場合、変更は新しく配信されるメッセージにのみ適用され、格納されているメッセージには影響しません。すべてのトピック・オプションのデフォルト値については、Oracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのTemplateBean
に関する項を参照してください。
特定の宛先に到着したメッセージは、デフォルトではFIFO (先入れ先出し)で格納され、各メッセージの一意のJMSMessageIDに基づいて昇順にソートされます。しかし、宛先キーを使用することで、宛先に対してLIFO (後入れ先出し)などの異なるソート方式を構成できます。
WebLogic Server管理コンソールを使用すると、システム・モジュール内の宛先キー・リソースを構成、変更、ターゲット指定、および削除できます。宛先キーのタスクの手順については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの宛先キーの構成に関する項を参照してください。
すべての宛先キー・オプションのデフォルト値については、Oracle Fusion Middleware Oracle WebLogic Server MBeanリファレンスのDestinationKeyBeanに関する項を参照してください。
割当てリソースでは、メッセージおよびバイトの最大数を定義します。これを1つまたは複数の宛先に関連付けることで、定義した最大数を強制することができます。
『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』を参照してください。
外部サーバー・リソースを作成して、ローカルWebLogic Server JNDIツリー内でサード・パーティのJMSプロバイダを参照するようにできます。外部サーバー・リソースを使用することで、外部のJMSプロバイダを即座にマップして、関連付けられた接続ファクトリと宛先をローカルJMSオブジェクトのようにWebLogic JNDIツリーに表示できます。また、別のクラスタまたはドメインにあるWebLogic Serverのリモート・インスタンスをローカルWebLogic JNDIツリー内で参照することもできます。
「外部サーバー・リソースからサード・パーティJMSプロバイダへのアクセスの構成」を参照してください。
分散宛先リソースは、単一の論理的な宛先としてクライアントからアクセス可能な1つの宛先セット(キューまたはトピック)です(たとえば分散トピックは独自のJNDI名を持ちます)。このセットのメンバーは通常、クラスタ内の複数のサーバーに分散されており、各メンバーは別々のJMSサーバーに属しています。分散宛先を使用するアプリケーションは、スタンドアロンの宛先を使用するアプリケーションより可用性が高くなります。これは、WebLogic JMSに、クラスタ内の分散宛先メンバーのためのロード・バランシングおよびフェイルオーバー機能があるためです。
「分散宛先リソースの構成」を参照してください。
JMS SAFリソースは、WebLogicストア・アンド・フォワード(SAF)サービス上に構築され、高可用性を備えたJMSメッセージ生成を行います。たとえば、ローカルのサーバー・インスタンスに接続されたJMSメッセージ・プロデューサは、メッセージ送信時にリモートのJMS宛先が一時的に使用できない場合でも、そのリモート宛先に確実にメッセージを転送できます。JMSストア・アンド・フォワードはJMSアプリケーションからは透過的なので、JMSクライアント・コードは既存のJMS APIを使用して、リモートの宛先にアクセスできます。
『Oracle Fusion Middleware Oracle WebLogic Serverストア・アンド・フォワードの構成と管理』の「JMSメッセージに対するSAFの構成」を参照してください。