ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server メッセージング ブリッジのコンフィグレーションと管理
11g リリーズ 1 (10.3.1)
B55550-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

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

以下の節では、WebLogic メッセージング ブリッジの設計とコンフィグレーションに役立つ情報について説明します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

実装メカニズム

管理的

プログラム的

管理的

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

有

無

無。WebLogic 9.0 以降のドメイン間のメッセージ転送に使用すること。


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

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

場合によって、ブリッジにコンフィグレーションしたサービス品質を対象送り先では提供できないことがあります。そのような場合、QOSDegradationAllowed フラグを指定して、サービス品質が低下できるようにブリッジ インスタンスをコンフィグレーションします。『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「メッセージング ブリッジ インスタンスの作成」を参照してください。

メッセージングの永続性

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

メッセージの順序

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

メッセージの順序を確実に指定するには、メッセージ順序単位をコンフィグレーションします。『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「メッセージ順序単位の使用」を参照してください。

接続ファクトリ数の指定

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

次の手順で、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 Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「メッセージング ブリッジ インスタンスのコンフィグレーション」を参照してください。

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

表 3-2 Weblogic Server の各リリースにおける対象送り先でのメッセージ プロパティの保存

プロパティ WebLogic Server 9.0 以降 WebLogic Server 8.1、7.0 外部 JMS サーバ

メッセージ ID

有

省略可能

省略可能

タイムスタンプ

有

省略可能

省略可能

ユーザ ID

有

省略可能

省略可能

配信モード

有

有

有

優先順位

有

有

有

生存時間

有

有

有

再配信の制限

有

省略可能

省略可能

順序単位名

有

省略可能

省略可能


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

メッセージング ブリッジでは、メッセージの JMSXUserID がメッセージング ブリッジの境界を越えて開示されることはありません。JMSXUserID とは、メッセージの送信者であるユーザを識別するシステム生成のプロパティです。http://java.sun.com/products/jms/docs.html で Sun Microsystems, Inc. からパブリッシュされた JMS 仕様を参照してください。

ソース送り先および対象送り先としての分散送り先の使用

メッセージング ブリッジを使用して、「分散送り先」との間で送受信できます。以下のコンフィグレーションをお勧めします。

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

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