チャネルのネゴシエーション

mqtalccha定義コマンドで指定するチャネル属性には,チャネル確立時に自システムのチャネルと相手システムのチャネルとの間で,適切な値に調整したり同じ値かどうかをチェックしたりする属性があります。この処理をネゴシエーションといいます。

ネゴシエーションを行うチャネル属性と,ネゴシエーションの結果について次の表に示します。

表4-11 ネゴシエーションを行うチャネル属性と,ネゴシエーションの結果

チャネル属性TP1/Message Queueの設定ネゴシエーションの結果
メッセージチャネルのプロトコルレベル(FAPレベル)4相手システムがFAPレベル4をサポートしている場合は,FAPレベルは4になります。
相手システムがFAPレベル4をサポートしていない場合は,FAPレベルは1になります。
FAPレベルが1の場合,マルチキャスト機能,ファーストメッセージ機能,およびハートビート機能は使用できません。
メッセージシーケンス番号の使用使用相手システムが,メッセージシーケンス番号を使用していない場合は,チャネル接続できません。
メッセージ転送時のセグメント分割の使用使用相手システムに合わせます。ただし,次に示す二つの条件が同時に成立する場合は,チャネル接続できません。
  • 相手システムがセグメント分割を使用しないとき
  • 次の計算式を満たすとき
    ネゴシエーション後の最大セグメント長 < ネゴシエーション後の最大メッセージ長 + 476
セキュリティ要求機能なしそのまま正常扱いで処理されます。

mqtalccha定義コマンドのオプションおよびオペランドで,ネゴシエーションを行うチャネル属性について次の表に示します。

表4-12 ネゴシエーションを行うチャネル属性(mqtalccha定義コマンドのオプションおよびオペランド)

オプションオペランドネゴシエーション方法備考
-c
-ytype適切なチャネルタイプを組み合わせてください。チャネルタイプの組み合わせについては,「2.3.2 MCAのチャネルタイプ」を参照してください。
-j
-mmaxmsg
-mmaxseg
-w相手システムと同じメッセージシーケンス番号の最大値を指定してください。異なる場合,チャネル接続できません。
-gbuftype自システムのチャネル属性がセグメント方式の場合は,次に示す制限があります。
  • 配布リストの送受信ができません。
  • MQMDE.MsgFlagsにMQMF_SEGMENTATION_ALLOWEDが指定されたメッセージを受信してもキューマネジャによるセグメント分割ができません。
  • メッセージ編集出口UOCが使用できません(UOCデーモンを作成してもUOCは呼び出されません)。
-vhtim
自システムのチャネルの属性,または相手システムのチャネルの属性が0(ハートビート機能なし)の場合は0となります。
-snpmspeed自システムのチャネルの属性,または相手システムのチャネルの属性がnormalの場合はnormalになります。
ネゴシエーションの結果,fastになった場合は,MQMDE.MsgFlagsにMQMF_SEGMENTATION_ALLOWEDが指定された非永続メッセージを受信しても,キューマネジャでは,セグメント分割できません。
(凡例)
●:自システムのチャネルの属性と相手システムのチャネルの属性が,同じ値かどうかチェックします。
○:自システムのチャネルの属性と相手システムのチャネルの属性を比較して,小さい方の値を採用します。
△:自システムのチャネルの属性と相手システムのチャネルの属性を比較して,大きい方の値を採用します。
□:備考欄を参照してください。
-:該当しません。
注※
自動定義クラスタセンダチャネルのバッチサイズは,次に示す計算式の値です。

[図データ]