2.3.5 チャネルの開始
チャネルを開始する方法を次に示します。チャネルの開始後,チャネルの確立に成功するとメッセージの送受信が開始されます。
-
運用コマンド
- mqtstachaコマンドを入力する場合
-
相手システム(TCP定義のmqtalccha定義コマンドの-oオプション指定値)が指定されているとき,チャネル開始要求を相手システムに送ってチャネルを確立します。相手システムが指定されていないとき,「チャネル使用不可」の状態を「チャネル停止」の状態に遷移させることができます。
- mqtstachaコマンドに-aオプションを指定して入力する場合
-
「チャネル使用不可」状態になっているMCAを,トリガ起動やネットワークリクエストによってチャネル開始のできる「チャネル停止」の状態に遷移させることができます。
-
トリガ起動(自システムがコーラの場合)
転送キューにメッセージが登録されたことをMQTサーバが検出し,MCAがチャネル開始要求を相手システムに送ってチャネルを確立します。
詳細については,「2.3.4 MQTサーバのトリガ起動によるチャネル開始」を参照してください。
-
相手システムからチャネル開始要求を受けることをネットワークリクエストといいます。
「チャネル停止」の状態のMCAは,相手システムからのチャネル開始要求を受けると,チャネル開始応答を返してチャネルを確立します。
クラスタセンダ以外のすべてのチャネルタイプがレスポンダ側MCAになることができます。
-
mqtalccha定義コマンドの-iオプションにauto2を指定した場合,MQTサーバのサービスが開始された直後に,自動的にチャネルが開始されます。ただし,相手システムが指定されていない場合は開始されません。
チャネルの開始方法とチャネル定義の指定値による動作の違いについて,次の表に示します。
チャネル開始方法 |
チャネルタイプ |
コーラ/ レスポンダ |
通信相手の指定※1 |
動作 |
---|---|---|---|---|
運用コマンド (mqtstacha) |
センダ (sender) |
コーラ |
必ず指定 |
|
サーバ (server) |
コーラ |
指定あり |
|
|
レスポンダ |
指定なし |
|
||
レシーバ (receiver) |
レスポンダ |
− |
|
|
リクエスタ (requester) |
コーラ |
指定あり |
|
|
レスポンダ |
指定なし |
|
||
クラスタセンダ(clussdr) |
コーラ |
必ず指定 (自動定義される) |
|
|
クラスタレシーバ(clusrcvr) |
レスポンダ |
− |
|
|
トリガ起動 |
センダ (sender) |
コーラ |
必ず指定 |
|
サーバ (server) |
コーラ |
指定あり |
|
|
指定なし |
− (コネクションを持たないため起動されません) |
|||
レシーバ (receiver) |
− |
− |
− (転送キューを持たないため対象外) |
|
リクエスタ (requester) |
− |
− |
− (転送キューを持たないため対象外) |
|
クラスタセンダ(clussdr) |
コーラ |
必ず指定 (自動定義される) |
|
|
クラスタレシーバ(clusrcvr) |
− |
− |
− (転送キューを持たないため対象外) |
|
ネットワーク リクエスト |
センダ (sender) |
レスポンダ |
必ず指定 |
|
コーラ |
|
|||
サーバ (server) |
レスポンダ |
− |
|
|
レシーバ (receiver) |
レスポンダ |
− |
|
|
リクエスタ (requester) |
レスポンダ |
− |
|
|
クラスタセンダ(clussdr) |
− |
− |
− (クラスタセンダは必ずコーラ側になるため対象外) |
|
クラスタレシーバ(clusrcvr) |
レスポンダ |
− |
|
|
システム起動 |
センダ (sender) |
コーラ |
必ず指定 |
|
サーバ (server) |
コーラ |
指定あり |
|
|
レスポンダ |
指定なし |
− (システム起動しないため対象外) |
||
レシーバ (receiver) |
− |
− |
− (システム起動しないため対象外) |
|
リクエスタ (requester) |
コーラ |
指定あり |
|
|
レスポンダ |
指定なし |
− (システム起動しないため対象外) |
||
クラスタセンダ(clussdr) |
コーラ |
必ず指定 |
|
|
クラスタレシーバ(clusrcvr) |
− |
− |
− (システム起動しないため対象外) |