![]() ![]() ![]() ![]() |
Oracle Service Bus では MQ 転送を使用した IBM WebSphere MQ へのアクセスがサポートされています。この転送では、着信と発信の両方の接続がサポートされます。MQ プロキシ サービスでは WebSphere MQ からのメッセージの受信が可能で、MQ ビジネス サービスでは WebSphere MQ へのメッセージのルーティングが可能です。
発信応答および着信要求でコンフィグレーションできる MQ ヘッダのリストについては、「転送ヘッダ」を参照してください。
Oracle Service Bus と同じ物理マシン上にある WebSphere MQ に接続するには、バインディング モードを使用します。Oracle Service Bus と同じマシン上にはない WebSphere MQ に接続するには、TCP/IP を使用します。
SSL は、Oracle Service Bus から WebSphere MQ への接続に TCP/IP を使用している場合にのみサポートされます。
WebSphere MQ for Java API では XA トランザクションがサポートされていないため、Oracle Service Bus の MQ 転送では XA トランザクションはサポートされません。XA が必要な場合は、WebSphere MQ JMS インタフェースと共に JMS 転送を使用する必要があります。詳細については、「WebSphere JMS MQ インタフェースの使用」を参照してください。
WebSphere MQ JMS インタフェースを使用する場合と比べて、MQ 転送の使用には以下のような利点があります。
MQ 転送は、メッセージ サービスおよび XML サービスのサービス タイプで使用できます。
詳細については、『Oracle Service Bus Console の使い方』の「ビジネス サービス : 作成と管理」および「プロキシ サービス : 作成と管理」を参照してください。
ネイティブ MQ 転送では、一方向メッセージおよび要求/応答メッセージング パターンが着信および発信接続の両方でサポートされます。デフォルトでは、一方向メッセージングがサポートされます。プロキシ サービスまたはビジネス サービスでは、サービスのコンフィグレーション時に is-response-required
オプションを設定すると、要求/応答メッセージングがサポートされます。
着信および発信転送では、要求と応答間の相関に messageID
または correlationID
を使用する非同期の要求/応答パターンをサポートします。サービスのコンフィグレーション時に応答相関パターンを設定できます。詳細については、「転送ヘッダ」の「CorrelationID」と「MessageID」を参照してください。
発信転送には、correlationID/messageID を自動生成するオプションが用意されています。または、メッセージ フローで指定したものを使用します。転送によって correlationID/messageID が自動生成される必要があることを指示するには、[相関値の自動生成] オプションを選択します。このオプションが選択されていない場合、ユーザがメッセージ フローで指定した値が使用されます。
相関値 (messageID
/correlationID
) を自動生成しない場合に、管理対象サーバがダウンすると、サーバの再起動時に残っている応答メッセージが削除されなくなることがあります。Oracle では、要求の有効期限 (Expiry
) ヘッダを有限な値にコンフィグレーションし、レポート (Report
) ヘッダに MQC.MQRO_PASS_DISCARD_AND_EXPIRY
オプションを設定することをお勧めします。
MQC.MQRO_PASS_DISCARD_AND_EXPIRY
オプションは、返信のメッセージ記述子が要求メッセージの有効期限 (Expiry
) ヘッダ値から継承される必要があるという、受信クライアントに対する指示として機能します。これにより、コンフィグレーションされた有効期限の経過後に MQ サーバによって応答メッセージが確実に削除されるようになります。相関値が自動生成される場合、残っている応答メッセージのクリーン アップは Oracle Service Bus サーバによって実施されます。
サービスの [応答が必要]、[応答相関パターン]、[相関値の自動生成] のコンフィグレーションについては、「MQ 転送を使用するプロキシ サービスのコンフィグレーション」および「MQ 転送を使用するビジネス サービスのコンフィグレーション」を参照してください。
環境値とは、ドメイン間でのコンフィグレーションの移動 (テスト環境からプロダクション環境への移行など) に伴って変更されることが多い値で、コンフィグレーション データに含まれる特定の事前定義されたフィールドです。環境値の更新の詳細については、『Oracle Service Bus Console の使い方』の「環境値の検索と置換」を参照してください。以下の節に、ネイティブ MQ 転送サービスと MQ 接続リソースで使用する環境値のリストを示します。
MQ 転送に基づいたサービスでは、ワーク マネージャ
(着信および発信) 環境値がサポートされています。
MQ 接続は、複数の MQ プロキシ サービスおよびビジネス サービスで再使用できる、共有可能なリソースです。MQ 接続リソースは、MQ キュー マネージャに接続するために必要な接続パラメータを提供します。MQ 接続リソースでは、以下の環境値および操作値をサポートしています。
環境値の更新の詳細については、『Oracle Service Bus Console の使い方』の「カスタマイズ」を参照してください。
着信転送が MQ で、発信転送のサービスの品質 (QoS) が exactly-once である場合、結果として得られる QoS は at-least-once になります。発信転送の QoS のデフォルトは exactly-once です。
注意 : | パイプライン エラー ハンドラに、(任意の再試行ロジックを含む) エラー処理ロジックを作成する必要があります。エラー処理のコンフィグレーションについては、『Oracle Service Bus Console の使い方』の「プロキシ サービス : エラー ハンドラ」を参照してください。 |
発信が要求/応答の場合、発信転送が exactly-once QoS をサポートするようにコンフィグレーションされているときのみ、QoS は at-least-once になります。
Oracle Service Bus メッセージングの QoS については、『Oracle Service Bus ユーザーズ ガイド』の「Oracle Service Bus でのメッセージ フローの作成」にある「サービスの品質」を参照してください。
WebSphere MQ のクラスタ サポートは、ストアアンドフォワード メッセージングのサポートであり、ロードバランシングおよびフェイルオーバのサポートではありません。WebSphere MQ のクラスタ キューは、キュー マネージャの 1 つにローカルで作成され、共有キューに対してリモート フォワーダとして動作する他のクラスタ メンバーと共有されます。
MQ 転送からの要求は、ロード バランシング アルゴリズムを使用してクラスタのメンバーにメッセージを送信することによってロード バランシングされます。ただし、転送は、ローカル キューへの参照を保持する MQ サーバ ノードにアクセスすることによってのみ、メッセージを受信します。
![]() ![]() ![]() |