Interstage Application Server OLTPサーバ運用ガイド
|
目次
索引

|
2.1.4 カレントディレクトリ
ワークユニットで起動したアプリケーションが動作する作業ディレクトリ(カレントディレクトリ)を指定することができます。
カレントディレクトリにより、ワークユニット配下で動作するアプリケーションはそれぞれ異なった作業ディレクトリで動作することが可能となります。
カレントディレクトリの世代管理機能
ワークユニットのカレントディレクトリのバックアップを最大5世代残すことができます。
バックアップはワークユニットの起動時に作成され、ワークユニット定義で指定された世代数まで残ります。前回起動時に作成されたワークユニット名のディレクトリが、“ワークユニット名.old1”としてバックアップされます。“ワークユニット名.old1”は“ワークユニット名.old2”としてバックアップされ、指定された世代数“n”の“ワークユニット名.oldn”までバックアップが作成されます。“ワークユニット名.oldn”がすでに存在する場合は、“ワークユニット名.oldn”を削除し、一つ前の数字のディレクトリが“ワークユニット名.oldn”として残されます。定義の詳細については“Number of Revision Directories:カレントディレクトリの退避世代数”を参照してください。
ワークユニット再起動後もカレントディレクトリ配下の標準出力ファイル(stdout)、標準エラー出力ファイル(stderr)、(Solaris版/Linux版ではcoreファイル)等が保存されるため、トラブル発生後、従来はワークユニットを再起動する前に、調査資料としてカレントディレクトリ配下のファイルを採取する必要がありましたが、本機能を使用することにより、業務の復旧を優勢し、ワークユニットの再起動を行った後に資料を採取することができます。また、トラブル発生から時間が経過していても調査情報を容易に入手することが可能となります。

- バックアップするカレントディレクトリの世代数の省略値は1です。そのため、ワークユニットのカレントディレクトリで指定したディレクトリ配下には、必ず前回起動時に作成されたディレクトリとファイルが残ります。
カレントディレクトリで指定されたディレクトリのディスク領域は、出力されるファイルのサイズを考慮し、十分な空き領域を確保してください。
- 以下のワークユニット種別で有効です。

CORBA


CORBA、UTY
- IJServerワークユニットのカレントディレクトリの詳細については、"J2EE ユーザーズガイド"の"J2EEアプリケーションが運用される環境(IJServer)"を参照してください。
- カレントディレクトリに指定するディスクの容量は、指定された世代数に合わせて十分な容量を見積もってください。
- CORBAワークユニットの場合、ワークユニット定義の環境変数に、旧バージョンの互換機能である、“EXTP_CURRENTDIR_HISTORY=YES”が設定されている場合は、カレントディレクトリのバックアップは5世代残ります。

- 拡張システムでは以下のカレントディレクトリの名前でバックアップされます。
ワークユニット名.システム名.old*
CORBAアプリケーションの指定形式
- 注1)
- xxx:ワークユニット定義で指定されたディレクトリ
yyy:当該ワークユニット名
zzz:アプリケーションの実行プロセスid
標準出力には、stdoutファイルが割り当てられています。サーバアプリケーションで標準出力にデータを出力した場合に、出力先として使用されます。
標準エラー出力には、stderrファイルが割り当てられています。サーバアプリケーションで標準エラー出力にデータを出力した場合に、出力先として使用されます。
OSの標準入出力ライブラリの仕様により、標準出力および標準エラー出力に出力したデータは一旦標準入出力ライブラリにバッファリングされます。
バッファリングされたデータを確実にstdout,stderrファイルに出力させるためには標準出力および標準エラー出力に対してフラッシュを行う必要があります。
たとえばC言語の場合は、fflush(stdout),fflush(stderr)を発行してください。フラッシュを行わない場合は標準入出力ライブラリによってバッファリングされたデータがフラッシュされるまでstdout,stderrファイルにデータが出力されません。

- C++言語で、入出力ストリーム(cout, cerr)を使用して標準出力、標準エラー出力にデータを出力する場合、標準C++ iostreamライブラリを使用してください。古いiostreamライブラリを使用する場合は、使用者が標準出力、標準エラー出力をファイルに割り当てるようにプログラミングする必要があります。標準C++ iostreamライブラリを使用する場合は、<iostream>などの拡張子.hが付いてないヘッダファイルを使用します。古いiostreamライブラリと標準C++ iostreamライブラリの違いについてはMSDNなどのMicrosoft Corporationから公開されている情報を参照してください。
Java言語およびCOBOL言語の場合、stdoutファイルおよびstderrファイルは作成されますが、ファイルにデータは出力されません。
COBOLアプリケーションでDISPLAY文を使用している場合は、翻訳時に翻訳オプション“SSOUT(環境変数情報名)”を指定し、ワークユニット定義の[Control Option]セクションまたは[Application Program]セクションのEnvironment Variable:ステートメントで環境変数情報名にデータ出力先のファイル名を指定してください。データの出力先がデフォルトのままの場合、環境変数“@WinCloseMSG"にOFFを設定しメッセージの出力を抑止しないとワークユニット停止時にアプリケーションがハングアップする可能性があります。


- UNIXの場合、アプリケーションが異常終了しコアファイルを出力した場合、それぞれのカレントディレクトリ配下に出力されます。
Java言語の場合、stdoutファイルおよびstderrファイルは作成されますが、ファイルにデータは出力されません。

- Java言語でファイルにデータを出力する場合、使用者が標準出力、標準エラー出力をファイルに割り当てるようにプログラミングする必要があります。
- CORBAアプリケーションで標準出力および標準エラー出力をstdoutファイル,stderrファイルに割り当てたくない場合、ワークユニット定義の[Control Option]セクションまたは[Application Program]セクションのEnvironment Variable:ステートメントに以下の環境変数を指定してください。stdoutファイルおよびstderrファイルは出力されなくなります。
- INTERSTAGE_WU_STDOUT_REDIRECTION = OFF
Interstage管理コンソールを使用した運用
ワークユニットの定義画面または、ワークユニット環境設定画面における“アプリケーション動作カレントディレクトリ”を設定してください。
All Rights Reserved, Copyright(C) 富士通株式会社 2007