7.16 ファイル受信制限をするための設定

JP1/AJS2では,ジョブ実行時に結果ファイル(標準出力ファイル,および標準エラー出力ファイル)や転送ファイルをマネージャーホストとエージェントホスト間,またはクライアントホストとマネージャーホスト間で送受信します。これらのファイルのサイズが数メガバイトを超えるような場合,ファイルのデータ解析処理,またはファイルのデータ転送で負荷が掛かり,CPU使用率の増加や,メモリー使用量の増加など,ジョブの実行が遅延するだけでなく,システム全体の処理に影響を与えるおそれがあります。

注※
ジョブは,QUEUEジョブ,イベントジョブを除きます。また,キューレスジョブは対象外です。

ファイル受信制限をするための設定を行うと,ジョブ実行時にマネージャーホスト側で受信する結果ファイルのサイズ(標準出力ファイルと標準エラー出力ファイルを合わせた合計のサイズ),またはエージェントホストが受信する転送ファイルのサイズ(転送ファイルを複数指定した場合はその合計サイズ)の上限値を設定できます。

また,上限値を超えた場合の動作(ジョブの終了状態)や出力するメッセージを指定できます。

ファイル受信サイズの上限値を超えた場合の動作と上限値を超えたファイルデータの扱いについて次に示します。

表7-16 ファイル受信サイズの上限値を超えた場合の動作と上限値を超えたファイルデータの扱い

上限値を超えたファイルの種類動作内容ReceiveFileSizeStatus環境設定パラメーターの指定
0123
結果ファイルジョブの状態実際の終了状態を引き継ぐ異常検出終了警告検出終了実際の終了状態を引き継ぐ
出力するメッセージの種別情報異常警告情報
ファイルデータの扱いすべてのファイルデータを受信する上限値を超えたデータを破棄する上限値を超えたデータを破棄する上限値を超えたデータを破棄する
転送ファイルジョブの状態実際の終了状態を引き継ぐ起動失敗起動失敗実際の終了状態を引き継ぐ
出力するメッセージの種別情報異常異常情報
ファイルデータの扱いすべてのファイルデータを受信するすべてのファイルデータを受信しないすべてのファイルデータを受信しないすべてのファイルデータを受信しない
注※
エージェントホストでジョブの状態が「異常検出終了」だった場合はその状態を引き継ぎます。
<この節の構成>
(1) 定義手順
(2) 定義パラメーター一覧
(3) 定義内容
(4) ファイル受信サイズが上限値を超えた場合の動作
(5) 注意事項

(1) 定義手順

  1. メモ帳などのテキストエディターで,「(2) 定義パラメーター一覧」の定義パラメーターを指定した設定ファイルを作成する。
    ファイルには変更したい定義内容だけを定義します。ファイルに定義しなかったものについては,デフォルト値が仮定されます。
    設定ファイルのファイル名は任意です。
  2. ファイルを保存し,次のコマンドを実行する。

    jbssetcnf 設定ファイル名

    jbssetcnfコマンドのパスは,「JP1/Baseのインストール先フォルダ¥bin¥jbssetcnf」です。
    jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
  3. JP1/AJS2を再起動する。
    変更した構成定義の内容が反映されます。

(2) 定義パラメーター一覧

表7-17 ファイル受信制限をする設定の定義パラメーター一覧

定義キー環境設定パラメーター定義内容
[{JP1_DEFAULT|論理ホスト名}¥JP1NBQMANAGER¥Job]"ReceiveFileSizeStatus"=ファイルサイズが上限値に達したときの動作
"LimitReceiveFileSize"=ファイルサイズの上限値
注※
{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。

(3) 定義内容

"ReceiveFileSizeStatus"=dword:ファイルサイズが上限値に達したときの動作
ファイル受信サイズが上限値に達したときの動作を指定します。
デフォルトは「0」です。
0
ファイル受信サイズの上限値をチェックし,上限値に達した場合は次のメッセージを出力しますが,すべてのファイルデータを受信します。ファイル受信サイズが上限値を超えてもジョブの状態は変更しないで,エージェントホストでのジョブの終了状態を引き継ぎます。
  • 結果ファイルの場合
    KAVU4294-Iメッセージ
  • 転送ファイルの場合
    KAVU2243-Iメッセージ
1
ファイル受信サイズの上限値をチェックし,上限値に達した場合はファイルの受信処理を中止して,ジョブの状態を変更します。
結果ファイルは,ファイルサイズの上限値(LimitReceiveFileSize)まで受信し,上限値を超えたデータを破棄して,終了状態を「異常検出終了」にします。転送ファイルはすべてのファイルデータを受信しないで,終了状態を「起動失敗」にします。終了コードと状態については,「(4) ファイル受信サイズが上限値を超えた場合の動作」を参照してください。
上限値に達した場合は次のメッセージを出力します。
  • 結果ファイルの場合
    KAVU4296-Eメッセージ
  • 転送ファイルの場合
    KAVU2244-Eメッセージ
2
ファイル受信サイズの上限値をチェックし,上限値に達した場合はファイルの受信処理を中止して,ジョブの状態を変更します。
結果ファイルは,ファイルサイズの上限値(LimitReceiveFileSize)まで受信し,上限値を超えたデータを破棄して,終了状態を「警告検出終了」にします。ただし,エージェントホストでのジョブの状態が「異常検出終了」だった場合はその状態を引き継ぎます。転送ファイルはすべてのファイルデータを受信しないで,終了状態を「起動失敗」にします。終了コードと状態については,「(4) ファイル受信サイズが上限値を超えた場合の動作」を参照してください。
上限値に達した場合は次のメッセージを出力します。
  • 結果ファイルの場合
    KAVU4295-Wメッセージ
  • 転送ファイルの場合
    KAVU2244-Eメッセージ
3
ファイル受信サイズの上限値をチェックし,上限値に達した場合はファイルの受信処理を中止します。
結果ファイルは,ファイルサイズの上限値(LimitReceiveFileSize)まで受信し,上限値を超えたデータを破棄します。転送ファイルはすべてのファイルデータを破棄します。ジョブの終了状態は,エージェントホストでの終了状態を引き継ぎます。終了コードと状態については,「(4) ファイル受信サイズが上限値を超えた場合の動作」を参照してください。
上限値に達した場合は次のメッセージを出力します。
  • 結果ファイルの場合
    KAVU4294-Iメッセージ
  • 転送ファイルの場合
    KAVU2243-Iメッセージ
この指定をした場合,制限を超えてもジョブは正常に終了します。しかし,ファイルが完全に作成された状態ではないため,後続ジョブなどでファイルを参照する場合は,不完全なファイルでも問題ないことを確認して使用してください。
"LimitReceiveFileSize"=dword:ファイルサイズの上限値
ファイル受信サイズの上限値を16進数で指定します。
指定できる範囲は80000~40000000(10進数で524,288~1,073,741,824)(単位:バイト)です。
デフォルトは「500000」(10進数で5,242,880)です。
ジョブ実行時に使用する転送ファイルや結果ファイルのサイズが運用上の見積もり値を超えたときに,マネージャーホスト側で受信するファイルのサイズを制限します。運用に合わせて5メガバイト程度で上限値を設定することをお勧めします。
この設定は,一回に送信する転送ファイルが複数ある場合,それらのファイルサイズを合計した値に対して上限値をチェックします。結果ファイルの場合は,標準出力ファイルと標準エラー出力ファイルのサイズを合計した値でチェックします。
なお,上限値に対して±数百バイト程度の範囲で誤差が生じることがあります。
ファイルサイズの見積もり方法を次に示します(単位:バイト)

ファイル数
 Σ(ファイル名長ファイルサイズ+(12*ファイル行数)+100)

  • この設定は8000単位(10進数で32,768)で切り上げて設定されます。例えば,80001(10進数で524,289)を指定した場合,有効になる値は88000(10進数で557,056)になります。
  • アクションジョブについては,JP1/AJS2が出力する情報としては指定できる範囲の下限値(524,288バイト)を超えて出力されません。ただし,UNIX上で実行したときに,システムやジョブ実行OSユーザーのログインスクリプトで標準エラー出力を出力した場合は,下限値を超えることがあります。

(4) ファイル受信サイズが上限値を超えた場合の動作

ファイル受信サイズが上限値を超えたときの動作を次に示します。

(5) 注意事項

ファイルを送受信するホストがシフトJIS以外の日本語環境の場合に,ファイル受信制限を使用すると,実際のファイルサイズと上限値として指定したサイズが異なる場合があります。

結果ファイルの受信時および転送ファイルの転送時の,ファイルサイズのチェックは,ファイルデータがシフトJISの状態で行われます。サイズチェック後に,結果ファイル受信ホストおよび転送ファイル転送先ホストで,各ホストに対応した文字コードに変換してファイルを作成します。

転送ファイルおよび結果ファイルは,対象ファイルの文字コードをシフトJISに変換してからサイズをチェックします。そのため,ファイル送信元ホストがシフトJIS以外の日本語環境の場合,シフトJISに文字コード変換を行った際に,変換後のファイルサイズが変換前のファイルサイズより小さくなる場合があります。この場合,ファイル送信元ホスト上ではファイルサイズが上限値より大きなファイルでも,ファイル受信制限が動作しません。

また,ファイルが作成されるホストがシフトJIS以外の日本語環境の場合,サイズチェック後にシフトJISからホスト上の文字コードに変換するため,チェック時のサイズより実際のファイルサイズが大きくなる場合があります。この場合,ファイル受信制限を使用し,上限値を超えるファイルを受信しないように設定しても,上限値より大きなサイズのファイルが作成されます。このように,上限値より大きなサイズのファイルが作成されることで,ディスク領域を予想以上に消費するおそれがありますので注意してください。