Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue 使用の手引


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

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

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

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

チャネル属性

TP1/Message Queueの設定

ネゴシエーションの結果

メッセージチャネルのプロトコルレベル(FAPレベル)

4

相手システムがFAPレベル4をサポートしている場合は,FAPレベルは4になります。

相手システムがFAPレベル4をサポートしていない場合は,FAPレベルは1になります。

FAPレベルが1の場合,マルチキャスト機能,ファーストメッセージ機能,およびハートビート機能は使用できません。

メッセージシーケンス番号の使用

使用

相手システムが,メッセージシーケンス番号を使用していない場合は,チャネル接続できません。

メッセージ転送時のセグメント分割の使用

使用

相手システムに合わせます。ただし,次に示す二つの条件が同時に成立する場合は,チャネル接続できません。

  • 相手システムがセグメント分割を使用しないとき

  • 次の計算式を満たすとき

    ネゴシエーション後の最大セグメント長 < ネゴシエーション後の最大メッセージ長 + 476

セキュリティ要求

機能なし

そのまま正常扱いで処理されます。

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

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

オプション

オペランド

ネゴシエーション方法

備考

-c

-y

type

適切なチャネルタイプを組み合わせてください。チャネルタイプの組み合わせについては,「2.3.2 MCAのチャネルタイプ」を参照してください。

-j

-m

maxmsg

-m

maxseg

-w

相手システムと同じメッセージシーケンス番号の最大値を指定してください。異なる場合,チャネル接続できません。

-g

buftype

自システムのチャネル属性がセグメント方式の場合は,次に示す制限があります。

  • 配布リストの送受信ができません。

  • MQMDE.MsgFlagsにMQMF_SEGMENTATION_ALLOWEDが指定されたメッセージを受信してもキューマネジャによるセグメント分割ができません。

  • メッセージ編集出口UOCが使用できません(UOCデーモンを作成してもUOCは呼び出されません)。

-v

htim

自システムのチャネルの属性,または相手システムのチャネルの属性が0(ハートビート機能なし)の場合は0となります。

-s

npmspeed

自システムのチャネルの属性,または相手システムのチャネルの属性がnormalの場合はnormalになります。

ネゴシエーションの結果,fastになった場合は,MQMDE.MsgFlagsにMQMF_SEGMENTATION_ALLOWEDが指定された非永続メッセージを受信しても,キューマネジャでは,セグメント分割できません。

(凡例)

●:自システムのチャネルの属性と相手システムのチャネルの属性が,同じ値かどうかチェックします。

○:自システムのチャネルの属性と相手システムのチャネルの属性を比較して,小さい方の値を採用します。

△:自システムのチャネルの属性と相手システムのチャネルの属性を比較して,大きい方の値を採用します。

□:備考欄を参照してください。

−:該当しません。

注※

自動定義クラスタセンダチャネルのバッチサイズは,次に示す計算式の値です。

[図データ]