ページの先頭行へ戻る
Interstage Application Server MessageQueueDirector説明書
Interstage

6.5.3 複数メッセージキューからのメッセージ参照を使用する

複数メッセージキューからのメッセージ参照を使用するアプリケーションとしては、複数のメッセージキューに対してメッセージの到着を監視するアプリケーションがあります。複数メッセージキューの監視アプリケーションは、事前にMQDおよび監視する複数のメッセージキューに接続して、複数メッセージキューからのメッセージ参照を行い、参照したメッセージの内容に対応するメッセージ受信アプリケーションを呼び出すように作成します。

複数メッセージキューへの接続は、プログラムインタフェースの“MQDCONNECTQEX”または“mqd_connectqex”を使用して行います。また、複数メッセージキューからのメッセージ参照は、プログラムインタフェースの“MQDPEEKMSGEX”または“mqd_peekmsgex”を使用して行います。

複数メッセージキューからのメッセージ参照の使用例を図6.10 複数メッセージキューからのメッセージ参照の使用例(Interstageアプリケーションの場合)に示します。

図6.10 複数メッセージキューからのメッセージ参照の使用例(Interstageアプリケーションの場合)

ポイント

図の説明

メッセージ監視アプリケーション
  1. アプリケーション起動時にアプリケーションをMQDに接続します。

  2. アプリケーション起動時にアプリケーションを目的の複数のメッセージキューに接続します。

  3. メッセージの到着を待ち合わせるために、同期モードで複数メッセージキュー上のメッセージを参照します。

  4. メッセージが到着したら、トランザクションを開始します。

  5. 参照したメッセージの内容に応じたメッセージ受信アプリケーション(Interstageのサーバアプリケーション)を呼び出します。

  6. トランザクションを終了します。その後、次のメッセージの到着を待つために、3)の処理を繰り返します。

  7. アプリケーション停止時にアプリケーションを複数のメッセージキューから切断します。このアプリケーションは、送信側からの“停止”を指示するメッセージを受信したときや参照しているメッセージキューをアクセス禁止にしたときに停止します。

  8. アプリケーション停止時にアプリケーションをMQDから切断します。

メッセージ受信アプリケーション
  1. ワークユニット起動時に(前出口プログラムで)アプリケーションをMQDに接続します。

  2. ワークユニット起動時に(前出口プログラムで)アプリケーションを目的のメッセージキューに接続します。

  3. メッセージ監視アプリケーションからの要求を受けて、メッセージキューからメッセージを受信します。1ユニット複数メッセージの場合は、1ユニットすべてのメッセージを受信します。

  4. メッセージを受信したら、DB更新処理を行います。

  5. ワークユニット停止時に(後出口プログラムで)アプリケーションをメッセージキューから切断します。

  6. ワークユニット停止時に(後出口プログラムで)アプリケーションをMQDから切断します。

注意

  • Interstageアプリケーションでメッセージの送受信を行う場合、トランザクションを終了した後に、メッセージキューからの切断、および、MQDからの切断を行う必要があります。そのため、前出口プログラムでMQDへの接続、メッセージキューへの接続を行い、後出口プログラムでメッセージキューからの切断、MQDからの切断を行う必要があります。