定義情報の作成手順
TP1/Message Queueの定義は,MQAサービス定義,MQTサービス定義およびMQT通信構成定義に分けられます。
MQAサービス定義およびMQTサービス定義は,OpenTP1システム定義の中の,システムサービス定義の一部に当たります。
MQT通信構成定義は,OpenTP1システム定義の中の,メッセージキュー定義に当たります。
また,TP1/Message Queueを使用するために,OpenTP1のシステムサービス定義のシステムサービス構成定義,ロックサービス定義,ネームサービス定義,ジャーナルサービス定義,およびチェックポイントダンプサービス定義を使用します。
TP1/Message Queueの定義の体系について,次の図に示します。
図4-2 TP1/Message Queueの定義の体系
TP1/Message Queueの定義情報の作成手順
MQAサービス定義を作成する場合は,テキストエディタを使用して,定義ファイルを作成します。
MQT通信構成定義を作成する場合は,オンライン開始前にオブジェクトファイルを作成しておく必要があります。オブジェクトファイルは,テキストエディタによって作成したソースファイルを,ユティリティで変換して作成します。MQT通信構成定義の中のMQT共通定義およびTCP定義は,それぞれ個別のソースファイルに作成し,個別のオブジェクトファイルを作成します。
定義の規則
定義を指定する場合の規則を説明します。
MQAサービス定義
MQAサービス定義には,set形式およびコマンド形式があります。どちらの定義形式も同一定義ファイルに格納します。
同一定義内では,set形式を定義してからコマンド形式を定義してください。
set形式ではOpenTP1システム開始時に値が決定されます。
コマンド形式ではOpenTP1システム開始時に値が決定されても,オンライン中に運用コマンドを入力すると,OpenTP1システム開始時に決定された値を変更できます。
MQTサービス定義
MQTサービス定義には,set形式があります。
set形式ではOpenTP1システム開始時に値が決定されます。
MQCサービス定義
関連製品であるTP1/Message Queue - Accessの使用時に作成する定義です。
MQCサービス定義には,コマンド形式があります。
コマンド形式ではOpenTP1システム開始時に値が決定されても,オンライン中に運用コマンドを入力すると,OpenTP1システム開始時に決定された値を変更できます。
MQCゲートウェイサーバユーザサービス定義
関連製品であるTP1/Message Queue - Accessの使用時に作成する定義です。
MQCゲートウェイサーバユーザサービス定義には,set形式があります。
set形式ではOpenTP1システム開始時に値が決定されます。
システムサービス構成定義
TP1/Message Queueを使用するためには,mqa_confオペランドにYを指定してください。
ロックサービス定義
TP1/Message Queueを使用するためには,lck_limit_formqaオペランドに,MQAサーバの最大同時排他要求数を指定してください。ここで指定する値は,同一ノード上にあるMQAサーバから発生する排他要求数の最大値です。
次の計算式で最大同時排他要求数を見積もってください。
A+S+T+1+R※
A:MQOO_INPUT_AS_Q_DEF,MQOO_INPUT_SHAREDまたはMQOO_INPUT_EXCLUSIVEを指定したMQOPEN発行数(MQCLOSE未発行)(mqcgwpクライアントアプリケーションを含みます)
S:同時に確立する送信側のチャネル数(自動定義クラスタセンダチャネルmqttcpcsを含みます)
T:MQAサービス定義のプロトコル名称がmqttcpのmqamqtnamコマンド定義数
R=5+(4×mqrsppプロセス数)
なお,MQAサーバでの排他には,lck_wait_timeoutオペランドを使用しません。このため,lck_wait_timeoutオペランドの指定値によるエラーリターンは発生しません。
ネームサービス定義
TP1/Message Queueを使用するためには,name_total_sizeオペランドにMQAサーバ分として,次の式で見積もった値を加算してください。
(4+MQAサービス定義のmqa_ioproc_numオペランドの指定値
+mqamqtnam定義コマンドの定義数)×528
クラスタ機能を使用する場合は,OpenTP1のname_total_sizeオペランドの指定値の見積もり式に含まれる「SPP数」に1を加算してください。見積もり式については,マニュアル「OpenTP1 システム定義」のTP1/Server Base用の共用メモリの見積もり式の,ネームサーバの説明を参照してください。
トランザクションサービス定義
関連製品であるTP1/Message Queue - Accessの使用時に作成する定義です。
MQCサーバ機能で,TP1/Message Queue - Accessからグローバルトランザクションを使用するかどうかを指定します。
TP1/Message Queue - Accessからグローバルトランザクションを使用する場合は,trn_crm_useオペランドにYを指定してください。Yを指定しないでTP1/Message Queue - Accessからグローバルトランザクションを使用した場合の処理の流れを次に示します。
ジャーナルサービス定義
MQAサービス定義にmqamqtnam定義コマンドで,MQTデーモンの構成を定義した場合,MQAサーバはチェックポイントダンプを取得します。MQAサーバ用のチェックポイントダンプサービス定義のファイル名をjnldfsv定義コマンドで指定してください。
チェックポイントダンプサービス定義
MQAサービス定義にmqamqtnam定義コマンドで,MQTデーモンの構成を定義した場合,MQAサーバはチェックポイントダンプを取得します。MQAサーバ用のチェックポイントダンプサービス定義を作成してください。jnl_objservernameオペランドには,対象となるシステムサービス名として_mqaを指定してください。
mqamqtnam定義コマンドを指定しないでMQAサーバ用のチェックポイントダンプサービス定義を作成した場合,OpenTP1起動時に,「KFCA01125-E 理由コード=908-0」が出力されて起動に失敗します。
MQT通信構成定義
MQT通信構成定義では,各定義内での記述順序が決まっています。
MQT通信構成定義には,コマンド形式だけがあります。
旧製品のMQAサービス定義を使用する場合の注意事項
TP1/Message Queue 05-15以降および05-14以降では,MQAサービス定義の指定を省略した場合の解釈値を変更しました。TP1/Message Queue 05-14以前または05-13以前の定義を使用する場合,動作が異なることがありますので注意してください。変更内容をそれぞれ表4-1および表4-2に示します。
表4-1 TP1/Message Queue 05-15以降で変更したMQAサービス定義の省略時の解釈値
定義コマンド名およびオプション名 | TP1/Message Queue 05-14以前で省略した場合の解釈値 | TP1/Message Queue 05-15以降で省略した場合の解釈値 |
---|---|---|
mqaquemgr -t | 150 | 999999999 |
トリガ起動によるチャネル確立を行う環境で次に示す状態の場合,運用に合ったトリガ間隔を指定するか,または05-14以前でトリガ間隔を省略した場合の解釈値(150ミリ秒)を指定してください。
表4-2 TP1/Message Queue 05-14以降で変更したMQAサービス定義の省略時の解釈値
定義コマンド名およびオプション名 | TP1/Message Queue 05-13以前で省略した場合の解釈値 | TP1/Message Queue 05-14以降で省略した場合の解釈値 |
---|---|---|
mqaquegrp -m | 100 | 0 |