2.3.2 MCAのチャネルタイプ

チャネルを制御するMCAには幾つかのチャネルタイプがあります。チャネルタイプが異なるとチャネルを制御するMCAの動作も異なります。

TP1/Message QueueがサポートするチャネルタイプとMCAの動作について,次に示します。チャネルタイプはTCP定義のmqtalccha定義コマンドで指定します。

センダsender
通信相手システムのレシーバまたはリクエスタをチャネル開始要求で起動し,メッセージを転送キューから取り出してレシーバまたはリクエスタに送信します。通信相手システムのリクエスタから起動された場合は,センダから起動をし直します。
レシーバreceiver
通信相手システムのセンダまたはサーバからのチャネル開始要求で起動され,センダまたはサーバからのメッセージを受信します。受信後,メッセージに指定されたあて先キューへ登録します。
リクエスタrequester
通信相手システムのセンダまたはサーバをチャネル開始要求で起動し,センダまたはサーバのチャネル定義で指定された転送キューからのメッセージを受信します。受信後,メッセージに指定されたあて先キューへ登録します。センダまたはサーバからのチャネル開始要求によって起動することもできます。
サーバserver
通信相手システムのリクエスタからチャネル開始要求で起動され,メッセージを転送キューから取り出して,レシーバまたはリクエスタに送信します。通信相手システムを設定すると,レシーバまたはリクエスタをチャネル開始要求で起動できます。
クラスタセンダ(clussdr
クラスタ機能で使用する送信側のチャネルタイプです。TCP定義のmqtalccha定義コマンドで指定する事前定義クラスタセンダと,接続相手のクラスタレシーバの属性に応じてTP1/Message Queueが自動的に作成する自動定義クラスタセンダがあります。詳細については,「2.8 キューマネジャクラスタの機能」を参照してください。
クラスタレシーバ(clusrcvr
クラスタ機能で使用する受信側のチャネルタイプです。TCP定義のmqtalccha定義コマンドで指定する事前定義クラスタレシーバと,事前定義クラスタレシーバの属性でTP1/Message Queueが自動的に作成する自動定義クラスタレシーバ(チャネルインスタンス)があります。なお,事前定義クラスタレシーバには,実体はありません。詳細については,「2.8 キューマネジャクラスタの機能」を参照してください。

コーラ側MCAになることができるチャネルタイプは,センダ,サーバ,リクエスタ,またはクラスタセンダです。レスポンダ側MCAになることができるチャネルタイプは,センダ,サーバ,レシーバ,リクエスタ,またはクラスタレシーバです。チャネルは,コーラ側MCAとレスポンダ側MCAを1対1で組み合わせます。一つのMCAに複数のMCAを組み合わせると,メッセージが二重に送信されたり,欠落したりすることがあります。

チャネルタイプの組み合わせについて,次の表に示します。

チャネルタイプの組み合わせは,システム設計時の最も早期に決定する必要がある検討事項です。

表2-4 チャネルタイプの組み合わせ

コーラ側MCAのチャネルタイプメッセージの送受信方向レスポンダ側MCAのチャネルタイプ
センダレシーバ
センダリクエスタ
サーバリクエスタ
サーバレシーバ
リクエスタセンダ
リクエスタサーバ
クラスタセンダクラスタレシーバ
(凡例)
→:コーラから送信します。
←:レスポンダから送信します。
注※
センダは,リクエスタからのネットワークリクエストに対して,いったんチャネルの終了を要求して,TCP/IPコネクションを解放します。その後,センダから再度コーラとしてチャネルを確立します。

クラスタチャネルでは一つのチャネル定義に対して複数のMCAを動作させるマルチインスタンス機能を持っています。詳細については,「2.8.9 クラスタ環境の通信構成」を参照してください。