mcfmuap

名称

UAP共通定義

形式

mcfmuap    〔-d  通信関数発行回数上限値〕
          〔-t  "〔sndtim=同期型送信監視時間〕
                 〔sndrcvtim=同期型送受信監視時間〕
                 〔recvtim=同期型受信監視時間〕"〕
          〔-j  ユーザサーバのジャーナルバッファの大きさ〕
          〔-e  "segsize=最大セグメント長"〕
          〔-l  "〔initseq=出力通番の初期値〕
                 〔maxseq=ラップ時の出力通番最大値〕
                 〔minseq=ラップ後の出力通番開始値〕"〕
          〔-u  "〔ntmetim=非トランザクションMHP限界経過時間〕"〕
          〔-a  "delaytim=アプリケーション起動時の遅延許容時間"〕
          〔-c  "〔order=function|commit〕
                 〔noansreply=yes|no
                 〔commitdml=yes|no〕"〕
          〔-r  "〔reschedulecnt=アプリケーション異常終了時の
                                 再スケジュール回数〕
                 〔rescheduleint=アプリケーション異常終了時の
                                 再スケジュール間隔〕
                 〔reschedulelog=yes|no〕"〕

機能

UAPに共通する環境を定義します。

オプション

●-d 通信関数発行回数上限値

 ~〈符号なし整数〉((0~65535))《0》(単位:回)

MHPの暴走を監視するために,MHPがトランザクション処理中に発行する総通信関数の発行回数の上限値を指定します。

指定回数を超えて通信関数を発行した場合,MHPを異常終了させます。

ユーザサービスデフォルト定義および該当するサービスのユーザサービス定義のMCF通信関数発行上限値の指定を省略したときに,ここで0を指定していた場合は,該当サービスの通信関数の発行回数を監視しません。

●-t

(オペランド)
sndtim=同期型送信監視時間 ~〈符号なし整数〉((0~65535))《0》(単位:秒)
同期型メッセージ送信の仕掛り開始時から,仕掛り終了時までの限界経過時間を指定します。
相手システムの処理完了報告までの時間を監視します。
0を指定した場合は,時間監視をしません。
sndrcvtim=同期型送受信監視時間 ~〈符号なし整数〉((0~65535))《0》(単位:秒)
同期型メッセージ送受信の仕掛り開始時から,仕掛り終了時までの限界経過時間を指定します。
相手システムからの応答時間を監視します。
0を指定した場合は,時間監視をしません。
recvtim=同期型受信監視時間 ~〈符号なし整数〉((0~65535))《0》(単位:秒)
同期型メッセージ受信の仕掛り開始時から,仕掛り終了時までの限界経過時間を指定します。
相手システムからの処理完了報告までの時間を監視します。
0を指定した場合は,時間監視をしません。

●-j ユーザサーバのジャーナルバッファの大きさ

 ~〈符号なし整数〉((4096~4000000の4の倍数))《32768》(単位:バイト)

ジャーナルデータを蓄えておく領域の大きさを指定します。

UAPプロセスが,ジャーナルに対して次の要求を出すまで,この領域にジャーナルデータを蓄えておきます。

ジャーナルバッファの大きさには,GJ,OJ,CJのデータ長のうち最大値以上の値を指定してください。

  1. GJのデータ長
    MCFアプリケーション定義のmcfaalcap定義コマンドの-jオプションのgjオペランドにyesを指定したときに取得します。
    ●32ビット版のとき
    ↑(204+seg)/4↑×4
    ●64ビット版のとき
    ↑(204+seg)/8↑×8
  2. OJのデータ長
    MHPからメッセージ送信をした場合は,MCFアプリケーション定義のmcfaalcapの-jオプションのojオペランドにyesを指定したときに取得します。SPPからメッセージ送信をした場合は,ユーザサービス定義のmcf_spp_ojオペランドにYを指定したときに取得します。
    ●32ビット版のとき
    ↑(204+seg)/4↑×4
    ●64ビット版のとき
    ↑(204+seg)/8↑×8
  3. CJ(メッセージキューサーバ)のデータ長
    ITQ,OTQにディスクキューを使用した場合に取得します。
    ●32ビット版のとき
    ↑{260+Σ{(24×(↑msg/ql↑+↑960/ql↑))}+qio}/4↑×4
    ●64ビット版のとき
    ↑{260+Σ{(24×(↑msg/ql↑+↑1072/ql↑))}+qio}/8↑×8
    (凡例)
    ↑↑:小数点以下を切り上げます。
    seg:セグメント長
    msg:ディスクキューを使用した受信メッセージ長または送信メッセージ長
    ql:キューファイル物理レコード長
    qio:メッセージキューサービス定義のque_io_maxrecsizeオペランドの指定値
    Σ:該当するトランザクションで,受信または送信したメッセージに対する見積もりの総和

ユーザが指定した値によって,MCFは次の処理をします。

  1. 指定した値がMCFで定めた下限値より小さい場合,その値をMCFで定めた下限値に補正します。
  2. 指定した値がMCFで定めた上限値より大きい場合,その値をMCFで定めた上限値に補正します。
  3. 指定した値が4の倍数でない場合,その値を4の倍数になるように切り上げます。

なお,このオペランドは,ユーザサービス定義,およびユーザサービスデフォルト定義のmcf_jnl_buff_sizeオペランドでも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義
  2. ユーザサービスデフォルト定義
  3. MCFマネジャ定義

ただし,ジャーナルのデータ長が131072を超える場合は,データ長をMCFマネジャ定義に指定し,ユーザサービス定義,およびユーザサービスデフォルト定義のmcf_jnl_buff_sizeオペランドは省略してください。

●-e segsize=最大セグメント長

 ~〈符号なし整数〉((512~2147483647))《512》(単位:バイト)

次の場合に送受信するメッセージの最大セグメント長を指定します。最も大きい方の値を,最大セグメント長として指定してください。

●-l

(オペランド)
initseq=出力通番の初期値 ~〈符号なし整数〉((0~2147483647))《1》
メッセージ出力通番の初期値を指定します。
maxseq=ラップ時の出力通番最大値 ~〈符号なし整数〉((0~2147483647))《65535》
出力通番をラップさせる時の,最大値を指定します。
指定した値の次は,開始値になります。
指定した値が小さいと,出力通番のラップアラウンドが発生したあとに,同一キューファイル内に同一の出力通番が存在して,メッセージの出力通番のユニーク性が保証されない場合があります。
このため,次の計算式を満たす値を指定してください。
ラップ時の出力通番最大値 > Q×(1+R)
Q:ディスクメッセージ最大格納数
R:ロールバック率
ただし,ロールバック率は最悪のケースを考慮した値を指定してください。
minseq=ラップ後の出力通番開始値 ~〈符号なし整数〉((0~1))《1》
出力通番をラップさせる時の,ラップ後の開始値を指定します。
ラップ後の出力通番開始値は,接続相手のオンラインコントロールプログラムによって異なります。

●-u ntmetim=非トランザクションMHP限界経過時間

 ~〈符号なし整数〉((0~65535))《0》(単位:秒)

アプリケーション属性定義(mcfaalcap)の-vオプションに指定するntmetimオペランドの省略値を指定します。

非トランザクションMHPの処理のループ,およびハングアップを監視するために,非トランザクションMHPの処理に掛かる限界経過時間を指定します。

0を指定した場合は,時間監視しません。

指定時間を超えても非トランザクションMHPの処理が終了しない場合,非トランザクションMHPを異常終了します。

●-a delaytim=アプリケーション起動時の遅延許容時間

 ~〈符号なし整数〉((0~360))《0》(単位:分)

起動時刻指定のアプリケーション起動で,指定時刻が現在時刻の前の場合の遅延許容時間を指定します。

指定した時刻が現在時刻より前で,遅延許容時間の範囲内の時間の場合,MCFはすぐに該当するアプリケーションを起動します。遅延許容時間外の時刻の場合,翌日の指定時刻に起動します。

●-c

(オペランド)
order=function|commit ~《function》
複数のUAPによる次に示す処理順序を指定します。
  • 同一の論理端末(mcftalcle -l)を使用するメッセージの送信順序および再送順序
  • 同一の論理端末(mcfaalcap -n lname)または内部通信路(mcfaalcap -n cname)を使用するUAPの起動順序
function
UAPからの関数の呼び出し順に処理します。
commit
UAPによるトランザクションのコミット順に処理します。
論理端末の出力キュー(ディスクキュー)にメッセージが滞留している状態で,OpenTP1を再開始した場合でも,トランザクションのコミット順に処理します。
注※
関数とは,メッセージ送信関数,メッセージ再送関数およびアプリケーション起動関数を示します。
noansreply=yes|no ~《no》
非応答型のMHPからの問い合わせ応答をするかどうかを指定します。
yes
非応答型のMHPからの問い合わせ応答をします。
非応答型MHPから応答メッセージを送信した場合,一般一方送信メッセージとして扱います。
なお,出力通番は付けられません。
no
非応答型のMHPからの問い合わせ応答をしません。
非応答型MHPから応答メッセージを送信した場合,エラーになります。
commitdml=yes|no ~《no》
データ操作言語のCOMMIT文を発行するかどうかを指定します。
yes
COMMIT文を使用します。
データ操作言語のCOMMIT文を発行してエラーが発生した場合,KFCA11199-Eメッセージを出力し,MHPが異常終了します。
no
COMMIT文を使用しません。
データ操作言語のCOMMIT文を発行してエラーが発生しても,UAPでエラーを検出できません。

●-r

(オペランド)
reschedulecnt=アプリケーション異常終了時の再スケジュール回数 ~〈符号なし整数〉((0~3))《0》(単位:回)
MHPが異常終了した場合の,再スケジュール回数を指定します。
アプリケーション属性定義(mcfaalcap)に指定する-dオプションのreschedulecntオペランドの省略時解釈値となります。
このオペランドに1~3の値を指定すると,受信したメッセージを該当する入力キューの最後に格納し,異常終了したMHPを自動的にスケジュールし直します。
0を指定した場合は,再スケジュールしません。
指定した回数を超えてMHPが異常終了した場合,再スケジュールしません。この場合,KFCA11163-Eメッセージを出力し,エラーイベントを通知します。
rescheduleint=アプリケーション異常終了時の再スケジュール間隔 ~〈符号なし整数〉((0~3))《0》(単位:秒)
異常終了したMHPを自動的に再スケジュールするまでの所要時間に加算する時間を,秒単位で指定します。
アプリケーション属性定義(mcfaalcap)に指定する-dオプションのrescheduleintオペランドの省略時解釈値となります。
この指定は,reschedulecntオペランドに1~3の値を指定した場合に有効となります。
注※
異常終了したプロセス以外に空きプロセスが存在する場合,間隔を空けないで再スケジュールします。
異常終了したプロセス以外に空きプロセスが存在しない,かつユーザサービス定義,またはユーザサービスデフォルト定義のholdオペランドにYを指定した場合,再スケジュールするまでに最大10秒掛かります。
異常終了したプロセス以外に空きプロセスが存在しない,かつユーザサービス定義,またはユーザサービスデフォルト定義のholdオペランドにNを指定した場合,ユーザサービス定義,またはユーザサービスデフォルト定義のterm_watch_timeオペランドの指定時間内で,異常終了したMHPの3回目の再スケジュールに最大10秒掛かります。2回目までは間隔を空けないで再スケジュールします。
reschedulelog=yes|no ~《no》
異常終了したMHPを自動的に再スケジュールするときに,ログメッセージを出力するかどうかを指定します。
アプリケーション属性定義(mcfaalcap)に指定する-dオプションのreschedulelogオペランドの省略時解釈値となります。
この指定は,reschedulecntオペランドに1~3の値を指定した場合に有効となります。
yes
KFCA11810-Iメッセージを出力します。
no
KFCA11810-Iメッセージを出力しません。