WebSphere MQ: 分散キューイング (3) チャネル・イニシエーター

前回までの分散キューイング記事の続き。WebSphere MQのチャネル・イニシエーターの機能の確認をする。参考文献は記事末尾をご参照。

前回のリモート・トリガリングがメッセージの受信側のキューのトリガー・モニター設定なら、チャネル・イニシエーターは送信側チャネルのトリガー・モニターとしての機能を提供する。これは、トランスミッション・キューをトリガー付きキューとして設定することで、トリガリング条件を満たすメッセージがputされると、トリガー・メッセージがイニシエーション・キューに送付され、対応する送信側チャネルをSTARTさせる為にチャネル・イニシエーターが起動させる。

チャネル・イニシエーターのトリガリング構成図

※画像はクリックすると拡大します。
websphere_mq_channel_init

チャネル・イニシエーターの構成定義

トランスミッション・キューのトリガリングを有効化しチャネルの切断間隔を30秒に設定する。その後送信側のチャネルを再起動し30秒で切れることを確認する。

QMC側

QMW側

チャネル・イニシエーターの動作確認

amqsputを用いてリモート・キューQRMT.Aにメッセージをputする。ただし、事前に双方のローカル・キューQL.Aのトリガリング機能は無効にしておく(このトリガリングはamqsreq用の為)。

ここでは例としてQMC→QMWへのPUTを確認する。

確かにチャネルが自動起動してメッセージが送信されたことを確認できた。続けてamqsreqで検証するべくQL.Aのトリガーを有効化する。

次にQMW上でトリガー・モニターを起動する。

そして、QMC上でamqsreqを実行する。

以上より、QMC, QMW上の両チャネルが自動的に起動しメッセージを送受できることを確認できた。
最後にローカル・キューQL.Aのトリガー機能をオフにする。

参考文献