説明
ワークユニットの制御オプションを指定します。
本セクションは、ワークユニット定義に必ず1つだけ指定してください。
形式
Path: | アプリケーションライブラリパス |
Current Directory: | カレントフォルダ |
Application Retry Count: | 連続異常終了回数 |
Path for Application: | アプリケーション使用パス |
| アプリケーション使用ライブラリパス |
Environment Variable: | 環境変数 |
Maximum Processing Time for Exit Program: | 出口プログラム最大処理時間 |
WorkUnit Exit Program: | ワークユニット出口プログラム名 |
Executable File of Exit Program for Salvage: | プロセス回収出口プログラム実行ファイル名 |
| 自動停止モード |
Request Assignment Mode: | 要求メッセージ振り分け方式 |
Traffic Director Monitor Mode: | IPCOM連携時の監視有無 |
| タイムアウト検出時のスタックトレース取得の有無 |
Startup Time: | ワークユニット起動待ち時間 |
Shutdown Time: | プロセス強制停止時間 |
Start Log: | プロセス起動ログ採取 |
Process Degeneracy: | プロセス縮退運用 |
Number of Revision Directories: | カレントディレクトリの退避世代数 |
構文規則
ワークユニット種別が「CORBA」、「UTY」の場合、以下のステートメントは必須です。
「Path」ステートメント
「Current Directory」ステートメント
説明
アプリケーションおよび出口プログラムの実行ファイルが格納されているディレクトリのパスを、絶対パスで指定します。相対パスおよびカレントディレクトリ「.」は指定できません。なお、アプリケーション言語がC++の場合は、アプリケーションおよび出口プログラムの実行可能ファイルが格納されているディレクトリのパスを指定します。また、ワークユニット種別が「CORBA」で、アプリケーション言語がJavaの場合は、Java実行体格納ディレクトリのパスを指定します。
本ステートメントは最大10個まで指定できます。複数指定する場合は、ステートメントを繰り返し記述します。なお、同一パスは複数指定できません。
255バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角英文字の大文字と小文字、全角英文字の大文字と小文字は区別されません。
「/」で始まる255バイト以内の空白文字と半角カナ文字を除く文字列。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略不可 | 省略不可 |
UTY | - | 省略不可 |
説明
アプリケーションおよび出口プログラムのカレントディレクトリを作成するためのパスを、絶対パスで指定します。相対パスおよびカレントディレクトリ「.」は指定できません。本ステートメントには、必ず実際に存在するパスを指定してください。パスが存在しない場合は、ワークユニットの起動に失敗します。
本ステートメントで指定したディレクトリに、ワークユニット名のディレクトリが作成され、さらにその配下にプロセスID名のディレクトリが作成され、プロセスIDのディレクトリが実際のカレントディレクトリとなります。
本ステートメントで指定したディレクトリのディスク領域が不足している場合、ワークユニットの起動に失敗する場合があります。また、SolarisおよびLinuxでは、アプリケーションプロセスが異常終了した場合に、coreファイルが出力されます。そのため、十分なディスク領域を確保してください。
Java言語およびCOBOL言語の場合、stdoutファイルおよびstderrファイルは作成されますが、ファイルにデータは出力されません。Java言語でファイルにデータを出力する場合、使用者が標準出力、標準エラー出力をファイルに割り当てるようにプログラミングする必要があります。
127バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角英文字の大文字と小文字、全角英文字の大文字と小文字は区別されません。
「/」で始まる255バイト以内の空白文字と半角カナを除く文字列。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略不可 | 省略不可 |
UTY | - | 省略不可 |
説明
自動再起動不可となるまでのアプリケーションの連続異常終了回数を指定します。
本ステートメントには、0~255の整数値が指定できます。
本ステートメントを省略した場合、または0を指定した場合は無条件に再起動を行います。
注意
本ステートメントに1を指定した場合は、アプリケーションプロセスの再起動は行われません。その場合、ワークユニットは異常終了します。
また、2以上の値を指定した場合は、サーバアプリケーションの実行が指定された回数連続して異常終了した場合にワークユニットが異常終了します。サーバアプリケーションが正常に復帰した時には、カウンタがリセットされます。
CORBAワークユニットの場合で、Factoryやオブジェクト単位のプロセスバインドのように初回のメソッドでオブジェクトリファレンスを生成する論理の場合、このメソッドが正常に動作してもカウンタがリセットされます。そのため、業務用のメソッドの呼び出しで異常終了しても2以上の値が有効にならない場合があります。
ユーティリティワークユニットの場合は、リトライカウントリセット時間([Application Program]セクションの「Reset Time for Application Retry Count」ステートメントで指定)を指定して、一定時間経過するとカウンタがリセットされるよう定義してください。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
アプリケーションおよび出口プログラムが動作時に使用するパスを指定します。
本ステートメントを省略した場合、アプリケーション使用パスなしとみなします。
本ステートメントは最大30個まで指定できます。複数指定する場合は、ステートメントを繰り返し記述します。なお、同一パスは複数指定できません。複数指定した場合、指定した順に環境変数「PATH」に設定されます。
本ステートメント指定した値の後に、Interstage起動環境で設定されている「PATH」環境変数の値が設定されます。
本ステートメントは、環境変数PATHに設定可能な値を指定できます。
255バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角英文字の大文字と小文字、全角英文字の大文字と小文字は区別されません。
255バイト以内の空白と半角カナ文字を除く文字列。
本ステートメントは、出口プログラムについては、有効となりません。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
アプリケーションおよび出口プログラムが動作時に使用するライブラリのパスを指定します。
本ステートメントを省略した場合、使用ライブラリパスなしとみなします。
本ステートメントは最大30個まで指定できます。複数指定する場合は、ステートメントを繰り返し記述します。なお、同一パスは複数指定できません。
本ステートメントは、環境変数LD_LIBRARY_PATHに設定可能な値を指定できます。255文字以内の空白と半角カナ以外の文字列を指定します。
アプリケーション言語にCOBOLを使用している場合は、COBOLランタイムライブラリのパスを指定してください。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 無効 | 省略可能 |
UTY | - | 省略可能 |
説明
アプリケーションおよび出口プログラムが動作時に使用する環境変数を、以下のような形式で指定します。
環境変数=値
LD_PRELOADなど、値をスペースで区切る環境変数を指定する場合は、以下の例のように二重引用符で括って指定してください。
Environment Variable:"LD_PRELOAD=/etc/opt/FSUNiconv/lib/libicv.so /usr/lib/watchmalloc.so.1"
半角カナ文字を除いた4096バイト以内の文字列で指定します。本ステートメントは複数指定することができますが、その場合、すべての「Environment Variable」ステートメントで指定した文字列の合計が、4096バイト以内でなければなりません。なお、本ステートメントの指定内容には、行末の改行コード分(2バイト)が文字列の長さに自動的に加算されます。また、文字種別・長さ以外のチェックは行いません。
本ステートメントを省略した場合、環境変数なしとみなします。
[Application Program]セクションの同名のステートメントで、同じ環境変数を指定した場合、[Application Program]セクションで指定した環境変数が使用されます。
なお、以下は本ステートメントの予約語なので指定できません。追加が必要な場合は、「Path for Application」ステートメントまたは「Library for Application」ステートメントで指定してください。
PATH
LD_LIBRARY_PATH
SHLIB_PATH
LD_LIBRARY_PATH
注意
COBOLで作成したプログラムは、コンパイル時のコード情報(環境変数LANGの値)を意識しており、実行時に同一環境でない場合、COBOLランタイムシステムはアプリケーションを終了します。本ステートメントに以下の環境変数を指定すると、このCOBOLランタイムのチェックを回避できます。詳細については、COBOLの使用手引書を参照してください。
Environment Variable: CBR_CODE_CHECK=no
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
出口プログラムの最大処理時間の監視値(秒)を指定します。
1~1800の整数値。省略値は300。
以下のセクションの同名のステートメントを指定した場合、そのセクションで指定した内容が有効となります。
[Application Program]セクション
注意
本ステートメントの値は以下の各出口プログラムに対して有効です。また、各出口プログラムの処理時間が、指定した時間を超過した場合は、出口プログラムが動作しているプロセスを強制停止します。
ワークユニット出口プログラム
ワークユニット起動時に実行された時に時間超過した場合は、ワークユニットの起動に失敗します。ワークユニット終了時に実行された時に時間超過した場合は、ワークユニット終了処理を継続します。
プロセス回収出口プログラム
時間超過した場合も、ワークユニット停止処理は継続します。
プロセス停止出口プログラム
時間超過した場合も、ワークユニット停止処理は継続します。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
ワークユニット起動時のプロセス起動前と、ワークユニット終了時のプロセス回収後に、1回ずつ実行される出口プログラムの関数名を指定します。
31バイト以内の英数字とアンダースコアで指定します。
注意
プロセスの起動に失敗し、ワークユニットの起動に失敗した後、および、ワークユニットが異常終了してプロセスの回収が終わった後にも、ワークユニット出口プログラムは実行されます。
本ステートメントを指定した場合は、「Executable File of Exit Program for Salvage」ステートメントに出口プログラム実行ファイル名を指定する必要があります。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
ワークユニット出口プログラムおよびプロセス回収出口プログラムの実行モジュールを指定します。
本ステートメントは省略可能ですが、「WorkUnit Exit Program」ステートメントを指定した場合は省略できません。
31バイト以内の制御文字(ShiftJISの0x00~0x1f,0x7f)を除く文字列。ただし、半角および全角英文字の大文字と小文字は区別されません。
31バイト以内の空白文字と半角カナを除く文字列。
以下のセクションの同名のステートメントを指定した場合、そのセクションで指定した内容が有効となります。このとき、各々のステートメントに、同一の実行ファイル名は指定できません。
[Application Program]セクション
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
ユーティリティワークユニットにおいてバッチプログラムを実装する場合に「YES」を指定します。「YES」を指定した場合、プロセスが終了しても再起動は実施せず、同一ワークユニット配下の全てのプロセスが終了したときにワークユニットを自動的に停止します。
YES:ワークユニットを自動停止する。
NO :ワークユニットを自動停止しない(省略値)。
注意
本ステートメントに「YES」を指定した場合、アプリケーションが異常終了した場合でも、再起動されず、その後、全てのプロセスが終了するとワークユニットは正常終了します。そのため、本ステートメントはバッチプログラムをワークユニットで起動する場合に指定してください。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 無効 | 無効 |
UTY | - | 省略可能 |
説明
クライアントからの要求メッセージを、要求待ちのサーバアプリケーションプロセスに振り分ける方式を指定します。
LIFO:要求待ちのサーバアプリケーションプロセスの中で、最後に要求待ちとなったプロセスに、クライアントからの要求メッセージを割り当てます(省略値)。
FIFO:要求待ちのサーバアプリケーションプロセスの中で、最初に要求待ちとなったプロセスに、クライアントからの要求メッセージを割り当てます。
本ステートメントを指定した場合、ワークユニット内のすべてのアプリケーションに対して有効となります。
以下のセクションの同名のステートメントを記述した場合、そのセクションで指定した内容が有効となります。
[Application Program]セクション
注意
ワークユニット種別が「CORBA」の場合、サーバアプリケーションの情報としてOD_impl_instコマンドでiswitchパラメタにONが設定されていると本ステートメントの指定は無効となります。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 無効 |
説明
IPCOM連携時に、本ワークユニットをダウン監視対象とするか否かを指定します。
YES:IPCOMの監視対象とします。
NO :IPCOMの監視対象としません(省略値)。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |
説明
アプリケーションおよび各種出口プログラムにおいて、タイムアウト(最大処理時間オーバ)を検出した場合、またはワークユニット起動待ち時間・プロセス強制停止時間の超過した場合にプロセスのスタックトレースを出力するか否かを指定します。
YES:スタックトレース出力する(省略値)。
アプリケーションが何らかの原因によりハングアップし、タイムアウトが発生した場合に、スタックトレースによりアプリケーションのハングしている位置を判断することができます。なお、スタックトレースファイルは、カレントディレクトリ配下に出力されます。
NO :スタックトレース出力しない。
注意
Interstage Application Server V9.2で、省略値を「NO」から「YES」に変更しました。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 無効 | 無効 |
UTY | - | 無効 |
説明
ワークユニットの起動が完了するまでの監視時間(秒)を指定します。
0~65535の整数値。省略値は180。
アプリケーションプロセスの起動処理が、指定した時間を超過した場合は、プロセスがシャットダウンされ起動処理が中止されます。その場合、ワークユニット起動処理は異常終了します。
なお、0を指定した場合は、起動時間監視は行われません。ワークユニット起動処理が完了するまで待ち続けます。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 無効 |
説明
ワークユニットの停止が実行された場合、プロセスの停止が完了するまでの待ち時間(秒)を指定します。
0~65535の整数値。省略値は180。
アプリケーションプロセスの停止処理が、指定した時間を超過した(ハングアップした)場合は、プロセスがシャットダウンされ、停止処理は正常終了します。
なお、0を指定した場合は、停止時間監視は行われません。アプリケーションプロセスの停止処理が完了するまで待ち続けます。
注意
本ステートメントは、ワークユニット停止以外に、以下の操作でも有効です。
ワークユニットのプロセス多重度変更(注1)でアプリケーションプロセス数を減少させる場合
ワークユニット活性変更(注2)で、旧環境を削除する場合
ワークユニット活性変更(注2)の復元(commit or rollback)フェーズで、アプリケーションプロセスを停止させる場合
注1) プロセス多重度変更については、「リファレンスマニュアル(コマンド編)」の「ismodifyprocnum」を参照してください。
注2) ワークユニット活性変更については、「付録F CORBAワークユニットの活性変更 」を参照してください。
プロセス強制停止時間は、ワークユニット停止においてアプリケーションプロセスの停止処理が異常である(ハングアップしている)と判断する基準値(時間)です。プロセス強制停止時間の見積もり方法については、「チューニングガイド」の「ワークユニットのチューニング」-「プロセス強制停止時間のチューニング」を参照してください。
Interstage Application Server V9.1以前は、ワークユニット強制停止でのみ、本ステートメントが有効でした。ワークユニット通常停止と同期停止では有効ではありません。互換モードは、Interstage Application Server V9.1以前の仕様と同様の運用モードです。
Interstage Application Server V9.1以前との共通点
互換モードでは、ワークユニット通常停止、または、同期停止で、停止処理が指定した時間を超過しても、プロセスはシャットダウンされません。(強制停止の場合のみプロセスがシャットダウンされます。)
Interstage Application Server V9.1以前との差異
互換モードでは、ワークユニット通常停止、または、同期停止で、停止処理が指定した時間を超過した場合、メッセージ(EXTP4381)が出力されます。
また、「Output of Stack Trace」(タイムアウト検出時のスタックトレース取得の有無)の指定が、「YES、または、省略」の場合、スタックトレースが出力されます。
ワークユニット同期停止は、アプリケーション処理中に実行すると、処理中の要求が完了するのを待ってからプロセスを停止します。本ステートメントを指定した場合、処理中の要求が遅延すると、処理中の要求が途中で強制終了される場合があります。このような場合、本ステートメントの見積もりを見直すか、処理中の要求を待ち続けるために、互換モードを設定してください。
互換モードの設定は、環境変数「EXTP_COMP_SHUTDOWNTIME=YES」をワークユニット定義の[Control Option]セクションに設定してください。
[Control Option] Environment Variable: EXTP_COMP_SHUTDOWNTIME=YES
デフォルトのモードを指定するには、環境変数「EXTP_COMP_SHUTDOWNTIME」を省略するか、「EXTP_COMP_SHUTDOWNTIME=NO」にしてください。
注意
モードを切り替える際は、ワークユニット定義を更新し、ワークユニットを再起動してください。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 無効 |
説明
CORBAワークユニットのプロセス起動時のログを採取します。
YES:起動ログを採取します。
ワークユニットのカレントディレクトリ配下にログファイルが作成され、プロセスの起動パラメタおよび起動時の環境変数が出力されます。ログファイルの出力先とファイル名は、以下のとおりです。
[カレントディレクトリ]\[ワークユニット名]\[プロセス ID]_info.log
[カレントディレクトリ]/[ワークユニット名]/[プロセス ID]_info.log
NO :起動ログを採取しません(省略値)。
本ステートメントを指定すると、開発段階においてCORBAワークユニットの起動に失敗した場合、プロセスの起動パラメタや環境変数に誤りが無いか確認するための、調査資料が採取できます。
注意
実行ファイル名および実行ファイルのパスに誤りがある場合は、プロセス起動時のログは出力されません。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 無効 |
説明
ワークユニット運用中に、プロセスの異常終了が発生した場合、自動再起動機能によりプロセスは再起動されます。この時、何らかの原因によりプロセスの再起動に失敗した場合、プロセス数が1つ少ない状態で運用を継続(縮退運用)することができます。
YES:再起動に失敗した場合、プロセス数を縮退し運用を継続します。
NO :再起動に失敗するとワークユニットを停止します(省略値)。
プロセス多重度(Concurrency)が2以上の場合に有効です。なお、プロセス再起動失敗を繰り返し、運用中のプロセス数が0になった場合は、ワークユニットが停止されます。
本ステートメントを指定することで、プロセス異常終了後、再起動に失敗した場合でも、残りのプロセスでワークユニットの運用を継続することができます。そのため、本ステートメントに「YES」を指定することを推奨します。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 無効 |
説明
ワークユニットのカレントディレクトリの退避世代数を指定します。
0~5の整数値。省略値は1。
0を指定した場合は、過去の起動時のカレントディレクトリは残りません。ワークユニット起動時に前回起動時のカレントディレクトリは削除されます。
本ステートメントを指定することにより、ワークユニットが過去に起動された時のカレントディレクトリを、指定した世代数残すことができます。ワークユニットが異常終了した場合でも、カレントディレクトリ配下の出力されたデータが残るため、業務復旧を優先してワークユニットを起動し、その後、カレントディレクトリ配下のデータを採取することができます。そのため、本ステートメントに1を指定することを推奨します。
注意
本ステートメントの省略値は1です。そのため、ワークユニットのカレントディレクトリで指定したディレクトリ配下には、前回起動時に作成されたディレクトリとファイルが残ります。
カレントディレクトリで指定されたディレクトリのディスク領域は、出力されるファイルのサイズを考慮し、十分な空き領域を確保してください。
サポート範囲
ワークユニット種別 | ||
---|---|---|
CORBA | 省略可能 | 省略可能 |
UTY | - | 省略可能 |