ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverメッセージング・ブリッジの構成と管理
12cリリース1 (12.1.1)
B65894-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

3 メッセージング・ブリッジの設計

この章では、メッセージング・ブリッジを設計、構成およびチューニングする方法について説明します。

この章の内容は以下のとおりです。

メッセージング・ブリッジを使用すべき状況

以下の節では、メッセージング・ブリッジを使用すべき状況について説明します。

ストア・アンド・フォワード・メッセージングを使用する場合

メッセージング・ブリッジの使用により、リモートの宛先に対する高可用性が実現します。ストア・アンド・フォワード・メッセージング機能を使用すると、ローカル・クライアントでローカルの宛先を作成し、その宛先のメッセージをリモートの宛先が利用できるときに自動的にリモートの宛先に転送できます。そのため、リモートの宛先が利用できないときにもローカル・クライアントでメッセージの生成を続けられます。「メッセージングの永続性」を参照してください。

WebLogicメッセージング・ブリッジを使用して、以下の製品間のストア・アンド・フォワード・メッセージングに対する管理ソリューションを実現できます。

  • WebLogic JMSの2つの実装(WebLogic Serverのリリースが異なる場合を含む)。

  • 別々のWebLogicドメインにあるWebLogic JMSの複数の実装。

  • WebLogic JMSとサード・パーティのJMS製品(MQSeriesなど)。

トピックをレプリケートする場合

メッセージング・ブリッジは、WebLogic Serverリリースで利用できる分散トピック機能のように、トピックをレプリケートできます。その結果、スケーラビリティが向上し、高可用性が実現する場合があります。(分散トピックの使用方法は、『Oracle WebLogic Server JMSのプログラミング』の「分散宛先の使用」を参照)トピックのレプリケーションは、ブリッジで1つのトピックをサブスクライブしてそのトピックのメッセージを別のトピックに転送する、つまり実質的には同じメッセージ・ストリームを持つ2つのトピックを作成することによって実現されます。Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの作成に関する項を参照してください。

メッセージング・ブリッジの使用を避けるべき状況

以下に説明する状況では、メッセージング・ブリッジを使用しないようにします。

表3-1にWebLogicメッセージング・ブリッジを使用すべき状況と他の転送技術を使用すべき状況についてまとめます。

表3-1 メッセージ転送技術の比較

機能 メッセージング・ブリッジ メッセージドリブンBean WebLogicストア・アンド・フォワード

実装メカニズム

管理的

プログラム的

管理的

外部プロバイダおよびレガシー・プロバイダのサポート

はい

いいえ

いいえ - WebLogic 9.0以降のドメイン間のメッセージ転送に使用します。


サービスの品質(QOS)レベルの選択

WebLogicメッセージング・ブリッジでは、3種類のQOSレベルがサポートされます。

場合によって、ブリッジに構成したサービス品質をターゲット宛先では提供できないことがあります。そのような場合、QOSDegradationAllowedフラグを指定して、サービス品質が低下できるようにブリッジ・インスタンスを構成します。Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの作成に関する項を参照してください。

メッセージングの永続性

ストア・アンド・フォワード・メッセージング機能を利用すると、ローカルJMSクライアントでローカルの宛先へのメッセージを作成し、それらのメッセージをリモートの宛先が利用できるときに自動的にリモートの宛先に転送できます。こうしたメッセージは、そのターゲット宛先が再起動されたときにブリッジによって転送されます。メッセージング・ブリッジでは次の場合に、ターゲット宛先へのメッセージが格納されてから転送(ストア・アンド・フォワード)されます。

メッセージの順序

アプリケーションのメッセージがトランザクション内にある場合、「必ず1回」のセマンティクスを保持するために、永続ストアへのメッセージの保存は必ずそのユーザー・トランザクションの一環として行われます。また特に、メッセージの永続ストアからの削除は、アプリケーションでトランザクションのロールバックが決定された場合にトランザクション・ロールバックの一環として行われます。一方、転送はアプリケーション・トランザクションの一環としては行われません。トランザクションがコミットされるまで、トランザクション・メッセージは送信エージェントによって転送されません。トランザクション内では、メッセージの順序はメッセージが送信された時間に基づいて保持されます。

メッセージの順序を確実に指定するには、メッセージ順序単位を構成します。『Oracle WebLogic Server JMSのプログラミング』のメッセージ順序単位の使用に関する項を参照してください。

接続ファクトリ数の指定

weblogic-ra.xml記述子ファイルのmax-capacity属性を調整して、各リソース・アダプタに関連付けられた接続ファクトリの容量を変更することを検討してください。通常、max-capacity属性の値は、少なくともブリッジ・インスタンス数の2倍にする必要があります。たとえば、割り当てられているメッセージング・ブリッジ・インスタンスが10個までの環境においては、max-capacity属性は20に設定されているのは適切な設定です。ブリッジ・インスタンスを15個に増やす場合には、max-capacity属性の値を30まで増やします。


注意:

メッセージ・ブリッジ・アダプタのinitial-capacity値を変更しないでください。ブリッジ・インスタンスがResourceAllocationエラーで機能しなくなることがあるため、initial-capacity値をゼロ(デフォルト)に設定することをお薦めします。

次の手順で、weblogic-ra.xml記述子ファイルを変更します。

  1. 任意のエディタを使用して、属性値を目的の値に更新します。例3-1を参照してください。

  2. 更新したアダプタをデプロイします。

  3. 更新後の値を必要とするすべてのブリッジ・インスタンスを停止してから再起動します。

例3-1 weblogic-ra.xml記述子ファイルのサンプル

<weblogic-connection-factory-dd>

     <connection-factory-name>WLSJMSConnectionFactoryLocal</connection-factory-name>
     <jndi-name>eis/jms/WLSConnectionFactoryJNDILocal</jndi-name>
          <pool-params>
               <initial-capacity>0</initial-capacity>
               <max-capacity>20</max-capacity>
          </pool-params>

</weblogic-connection-factory-dd>

メッセージのプロパティの保持

PreserveMsgPropertyを設定すると、ブリッジ・インスタンスによってメッセージが転送されるときに、メッセージ・ヘッダー内にメッセージのプロパティを保持できます。旧リリースでは、ターゲット宛先へのメッセージの転送時に使用される接続ファクトリのデフォルト配信モード属性から、メッセージのプロパティが継承されます。デフォルト配信モードが「永続」に設定されていると、非永続メッセージが永続メッセージとして転送されて、パフォーマンスが大幅に低下します。

PreserveMsgPropertyを有効にすると、ブリッジによって、受信された非永続メッセージは非永続メッセージとして、永続メッセージは永続メッセージとしてターゲット宛先に転送されます。Oracle WebLogic Server管理コンソール・ヘルプメッセージング・ブリッジ・インスタンスの構成に関する項を参照してください。

メッセージング・ブリッジ・インスタンスの動作は以下のガイドラインによって決まります。

表3-2 Weblogic Serverの各リリースにおけるターゲット宛先でのメッセージ・プロパティの保持

プロパティ WebLogic Server 9.0以降 WebLogic Server 9.0よりも前 外部JMSサーバー

メッセージID

はい

いいえ

いいえ

タイムスタンプ

はい

いいえ

いいえ

ユーザーID

はい

いいえ

いいえ

配信モード

はい

はい

はい

優先順位

はい

はい

はい

期限切れ時間

はい

はい

はい

再配信の制限

はい

いいえ

いいえ

順序単位名

はい

いいえ

いいえ


メッセージング・ブリッジでのJMSXUserIDプロパティの使用

メッセージング・ブリッジでは、メッセージのJMSXUserIDがメッセージング・ブリッジの境界を越えて開示されることはありません。JMSXUserIDとは、メッセージの送信者であるユーザーを識別するシステム生成プロパティです。オラクル社が発行しているJMS仕様(http://www.oracle.com/technetwork/java/jms/index.html)を参照してください。

ソース宛先およびターゲット宛先としての分散宛先の使用

メッセージング・ブリッジを使用して、「分散宛先」との間で送受信できます。以下の構成をお薦めします。

WebLogicメッセージング・ブリッジのチューニング

メッセージング・ブリッジのチューニングの主な目的は、メッセージングの全体的なパフォーマンスの向上です。処理速度を高速に保つことも重要ですが、これは数あるパフォーマンス関連の要素の1つにすぎません。パフォーマンスには他にも、信頼性、スケーラビリティ、管理容易性、モニター、ユーザー・トランザクション、メッセージドリブンBeanのサポート、アプリケーション・サーバーとの統合などの要素が影響します。『Oracle WebLogic Serverパフォーマンスおよびチューニング』のWebLogicメッセージング・ブリッジのチューニングに関する項を参照してください。