Hitachi

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


mqttcp(TCP構成定義)

〈このページの構成〉

形式

mqttcp  〔-i イニシエーションキュー名〕
          -p tcp
          -g " rcvbuf = 受信バッファグループ番号"
        〔-r "{portno = 自システムのポート番号
             |servname = 自システムのサービス名 }"〕
        〔-v "〔itim = イニシエーションキュー監視タイマ値〕
              〔etim = 終了処理監視タイマ値〕
              〔rtim = チャネル確立完了監視タイマ値〕"〕
        〔-t "〔disk = yes|no〕
              〔bufcnt = バッファ格納個数〕
              〔trccnt = トレースファイル個数〕
              〔bufsize = トレースバッファサイズ〕"〕
        〔-z time|event〕

機能

MQTサーバのTCP/IPプロトコルについての構成を定義します。

オプション

● -i イニシエーションキュー名

 〜<1〜48文字のMQ文字列>

イニシエーションキュー名を指定します。この文字列の先頭または途中に空白を指定できません。また,ほかのmqttcp定義コマンドで指定するイニシエーションキュー名と重複して指定できません。

イニシエーションキューの詳細については,「2.3.4 MQTサーバのトリガ起動によるチャネル開始」を参照してください。

● -p tcp

プロトコル種別を指定します。

tcp:TCP/IPプロトコル

● -g

(オペランド)

rcvbuf=受信バッファグループ番号

 〜<符号なし整数>((1〜512))

チャネル確立属性がレスポンダの場合に開始要求を受信する,受信バッファグループ番号を指定します。

mqttbuf定義コマンドの-g groupnoオペランドで指定したバッファグループ番号を指定してください。

mqtalccha定義コマンドの-y typeオペランドで,receiverまたはrequesterを指定しない場合は,-gオプションを省略できます。また,開始要求を受信するためのmqttbuf定義コマンドも省略できます。

● -r

(オペランド)

portno=自システムのポート番号

 〜<符号なし整数>((1024〜65535))

開始要求を受信する自システムのポート番号を指定します。この指定値は,相手システムからのネットワークリクエストを受けるために使用されます。

このオプションのservnameオペランドを指定した場合,この指定値は省略できます。省略した場合,あらかじめサービス名ファイルにサービス名が登録されている必要があります。

portnoオペランドとservnameオペランドを両方とも指定した場合は,portnoオペランドの指定値が優先されます。

servname=自システムのサービス名

 〜<1〜32文字の識別子(ハイフン(-)を含む)>

自システムのサービス名を指定します。この指定値は,相手システムからのネットワークリクエストを受けるために使用されます。

このオプションのportnoオペランドに指定がある場合,この指定値は省略できます。

サービス名は,サービス名ファイルに次に示す形式で登録します。

[図データ]

portnoオペランドとservnameオペランドを両方とも指定した場合は,portnoオペランドの指定値が優先されます。

注意事項
  • mqtalccha定義コマンドの-y typeオペランドで,receiverまたはrequesterを指定しない場合は,-rオプションは省略できます。

  • portnoオペランドにはMQTサーバが動作するシステム内で使用しないポート番号(OSが自動割り当てするポート番号の範囲外で,かつほかのプログラムが使用しない番号)を指定してください。

  • servnameオペランドにはMQTサーバが動作するシステム内で使用しないサービス名(サービス名に関連づけられたポート番号を考慮)を指定してください。

  • -rオプションで指定したポート番号またはサービス名に関連づけられたポート番号が,ほかの通信プログラムで使われている状態でMQTサーバを起動すると,通信障害(TCP/IPエラー,不正データ受信)になることがあります。なお,ポート番号には,OSが自動割り当てする番号があります。OSが自動割り当てするポート番号は,OSの種別やOSのバージョンなどによって異なります。詳細は,OSのマニュアルを参照してください。

● -v

(オペランド)

itim=イニシエーションキュー監視タイマ値

 〜<符号なし整数>((0〜65535))《60》(単位:秒)

イニシエーションキュー監視タイマ値を指定します。

mqttcp定義コマンドの-zオプションにtimeを指定した場合にこのオペランドに0を指定するとき,イニシエーションキュー監視は実行しません。mqttcp定義コマンドの-zオプションにeventを指定した場合でも,このオペランドの指定値によって,イニシエーションキューの監視を実行します。イベント方式では,通常この機能は必要ありません。これは何らかの予期しない障害によって,イベント連絡に失敗した場合にチャネル起動がされなくなるのを防ぐ機能です。

etim=終了処理監視タイマ値

 〜<符号なし整数>((0,10〜65535))《360》(単位:秒)

終了処理監視タイマ値を指定します。0を指定した場合,終了処理は監視されません。

注意事項

etimオペランドを指定する場合は,次に示す条件を考慮してください。

  • すべてのMQTサーバのTCP定義(mqttcp定義コマンド,mqttcpcs定義コマンド,mqttcpcr定義コマンド)で指定するetimオペランドの指定値の合計が,OpenTP1のシステム環境定義のsystem_terminate_watch_timeオペランドの指定値よりも小さくなるように0以外の値を指定してください。この条件を満たさない場合,dcstopコマンドを入力したあとに,OpenTP1が強制停止することがあります。

  • 「チャネル動作中」でバッチ処理を行っている場合にdcstopコマンドを入力するときは,バッチ処理時間よりも大きい値をetimオペランドに指定してください。バッチ処理時間よりも小さい値をetimオペランドに指定した場合,送達未確認状態や転送メッセージの消滅(ファーストメッセージの場合)が発生することがあります。バッチサイズ,転送メッセージ長,およびバッチインターバルを考慮してください。

  • 「チャネル動作中」でバッチ処理を行っていない場合にdcstopコマンドを入力するときは,ハートビート間隔よりも大きい値をetimオペランドに指定してください。ハートビート間隔よりも小さい値をetimオペランドに指定した場合は,相手システムが異常(TCP/IPエラーやタイムアウト)を検出することがあります。

  • 「チャネル動作中」のチャネルが存在しない場合にdcstopコマンドを入力するときは,MQTサーバの終了を監視する時間をetimオペランドに指定してください。

rtim=チャネル確立完了監視タイマ値

 〜<符号なし整数>((0〜65535))《60》(単位:秒)

チャネル確立完了監視タイマ値を指定します。0を指定した場合,チャネル確立完了は監視されません。

● -t

(オペランド)

disk=yes|no

 〜《yes》

MQTトレースのディスク出力機能を使用するかどうかを指定します。

yes:ディスク出力機能を使用します(メモリおよびディスクに出力)。

no:ディスク出力機能を使用しません(メモリだけに出力)。

noを指定した場合,トレースファイルは作成されないでメモリ上の二つのバッファが交互に使用されます。また,このオプションのbufcntおよびtrccntオペランドの指定値は無効になります。

yesを指定,または省略した場合,MQTトレースは,MQTサーバが提供する次に示すファイルに格納されます。

  • MQTサービス定義のmqt_trace_file_pathオペランドを指定している場合

    ファイル名:mqt_trace_file_pathオペランドの指定値/mqttrcXXYY

  • MQTサービス定義のmqt_trace_file_pathオペランドを指定していない場合

    ファイル名:$DCDIR/spool/mqttrcXXYY

(凡例)

XX:MQT通信プロセス識別子

YY:トレーススワップファイル識別子

なお,MQTサーバで障害が発生し,保守員に調査を依頼する場合,このトレースが必要になります。そのため,常にトレースをディスクに出力して運用することをお勧めします。

bufcnt=バッファ格納個数

 〜<符号なし整数>((10〜2147483647))《2500》

MQTトレースファイルのサイズを指定します。バッファを何面分格納できる容量にするかを個数単位で指定します。トレースファイルのサイズの算出式を次に示します。

トレースファイルサイズ バッファ格納個数×

          トレースバッファサイズ(-t bufsizeオペランド指定値)

trccnt=トレースファイル個数

 〜<符号なし整数>((3〜99))《3》

MQTトレースファイルの個数を指定します。トレースファイルは,必要に応じて作成されますが,この指定値を超えると,最も古いトレースファイルが上書きされます。

bufsize=トレースバッファサイズ

 〜<符号なし整数>((20480〜128000000))《20480》(単位:バイト)

MQTトレースを格納するバッファの大きさを指定します。4の倍数でない値を指定した場合は,4の倍数に切り上げられます。

注意事項

MQTトレースのディスク出力はトレースバッファサイズ単位に行われ,ディスク出力が完了するまではチャネルの動作が一時的に停止します。そのため,バッファサイズを設定するときは次に示す点を配慮してください。

  • 値が大きい場合:

    ディスク出力回数は少なくなりますが,ディスク出力時間(チャネルの停止時間)は長くなります。

  • 値が小さい場合:

    ディスク出力時間(チャネルの停止時間)は短くなりますが,ディスク出力回数は多くなります。

● -z time|event

 〜《time》

MCAをトリガ起動する場合に使用するイニシエーションキューの監視方式を指定します。

  • time:タイマ方式

    -v itimオペランドで指定したタイマの間隔でトリガメッセージを取り出します。

  • event:イベント方式

    イニシエーションキューにトリガメッセージが登録されると同時にイベントによってトリガメッセージを取り出します。