mqaquemgr(キューマネジャ定義)
形式
mqaquemgr -n キューマネジャ名 〔-q キューマネジャ記述子〕 〔-t トリガ間隔〕 〔-d デッドレターキュー名〕 〔-p 最大メッセージ優先度〕 〔-x 省略時の転送キュー名〕 〔-h 最大ハンドル数〕 〔-l 最大メッセージ長〕 〔-s トランザクション有効性〕 〔-j 配布リストのサポート〕
機能
キューマネジャの属性を指定します。
この定義コマンドは,MQAサービス定義に一つだけ指定できます。複数指定した場合は,MQAサーバ開始処理でエラーになります。
オプション
● -n キューマネジャ名
〜<1〜48文字のMQ文字列>
キューマネジャ名(QMgrName属性)を指定します。アプリケーションをローカルキューマネジャに接続する場合に使用される名称です。
名称の先頭12文字は,ユニークなメッセージ識別子が生成される場合に使用されます。キューマネジャのネットワークでメッセージ識別子がユニークであるために,通信するキューマネジャ同士では,名称の先頭12文字が異なっていなければなりません。
● -q キューマネジャ記述子
〜<1〜64文字の文字列>
キューマネジャに対するユーザに任意の情報(QMgrDesc属性)を指定します。キューマネジャはこの指定値を一切チェックしません。省略した場合,キューマネジャ記述子は空白になります。
指定値に,(コンマ)を含む場合は文字列全体を"(引用符)で囲んでください。
指定例を次に示します。
-q "svrg01,svr01"
● -t トリガ間隔
〜<符号なし整数>((0〜999999999))《999999999》(単位:ミリ秒)
mqaqueatl定義コマンドの-tオプション(トリガタイプ)でfirstを指定した場合の,トリガメッセージ数を制御するために使用される時間間隔(TriggerInterval属性)を指定します。
トリガタイプがfirstの場合,通常,キューが空の状態のときにメッセージが到着すると,トリガメッセージが生成されます。しかし特定の状況の下では,キューが空でなくても,追加のトリガメッセージが生成されることがあります。この追加のトリガメッセージの生成頻度を制御します。
チャネルトリガを起動する場合,通信相手システムの起動状態によってイニシエーションキューが満杯になることがあります。そこで余分なトリガメッセージを発生させないために,次に示す計算式に従って定義を指定してください。
トリガ間隔(mqaquemgr定義コマンドの-tオプション指定値) ≧ イニシエーションキュー監視タイマ値 (mqttcp定義コマンドの-v itimオペランド指定値) + 基本タイマ値 (mqtttim定義コマンドの-t btimオペランド指定値+ bmtimオペランド指定値)
なお,上記の計算式に従って定義を指定した場合でも,トリガ起動チャネル数の3倍のメッセージが一時的に発生することがありますので,注意してください。
● -d デッドレターキュー名
〜<1〜48文字のMQ文字列>
ローカルキューマネジャで定義されているキューに登録できない場合に,そのメッセージを転送するキュー(デッドレターキュー)の名称(DeadLetterQName属性)を指定します。省略した場合,デッドレターキュー名は空白になります。デッドレターキューにメッセージを登録する条件については,マニュアル「TP1/Message Queue プログラム作成の手引」を参照してください。
● -x 省略時の転送キュー名
〜<1〜48文字のMQ文字列>
省略時の転送キューの名称(DefXmitQName属性)を指定します。
このキューは,使用する転送キューの指示がほかにない場合,リモートキューマネジャへのメッセージ転送用に使用されます。
● -h 最大ハンドル数
〜<符号なし整数>((1〜65535))《10》
プロセスから同時に使用できるオープン状態のオブジェクトハンドルの最大数(MaxHandles属性)を指定します。
最大ハンドル数は,次に示すハンドル数のうちで最大のハンドル数以上になるように指定してください。
-
一つのアプリケーションが同時に使用するハンドル数
-
クラスタ機能を使用する場合,リポジトリ管理サーバの最大ハンドル数(最大ハンドル数:6)
クラスタ機能を使用する場合,最大ハンドル数に5以下の値を指定すると,OpenTP1の開始時にKFCA31204-Eメッセージを出力し,OpenTP1が異常終了します。
-
MQCサーバ機能を使用する場合,クライアントアプリケーションから接続されたコネクションで同時に使用するオブジェクトハンドル数
-
C言語またはCOBOL言語で作成したアプリケーションの場合
MQCONN命令で取得したコネクションハンドルで実行する同時MQOPEN命令の数
-
C++言語で作成したアプリケーションの場合
一つのImqQueueManagerクラスを使用して同時にオープンするオブジェクトの数
-
Java言語で作成したアプリケーションの場合
一つのMQQueueManagerクラスから生成するオブジェクトの数
-
JMSインタフェースで作成したアプリケーションの場合
一つの論理コネクション(QueueSession)から生成するオブジェクトの数
-
● -l 最大メッセージ長
〜<符号なし整数>((1〜128000000))《4096000》
キューマネジャによって処理されるメッセージの最大長(MaxMsgLength属性)を指定します。
キューマネジャで作成されるすべてのキューに対して,この指定値がメッセージ長の最大値です。mqaqueatl定義コマンドの-lオプション(最大メッセージ長)はこの指定値の大きさを超えて指定できません。