Interstage Application Server OLTPサーバ運用ガイド |
目次
索引
![]() ![]() |
第2章 OLTPサーバの設計 | > 2.5 ワークユニットの運用支援機能を利用した場合の設計 |
ワークユニット単位に出口プログラムを設定することが可能です。ワークユニット起動/停止/異常終了などの事象ごとにワークユニット定義に指定したワークユニット出口プログラムを呼び出します。
ワークユニット起動時に共用メモリなどの資源を獲得し、ワークユニット停止または異常終了した場合に資源を解放するような場合に有効です。
また、ワークユニット起動時に呼び出されるワークユニット出口プログラムはユーザ情報を返却することができ、この情報はプロセス情報通知より参照が可能です。
ワークユニット出口機能は、最大処理時間監視を行うことができます。最大処理時間を超過した場合、出口を呼び出すプロセスは強制停止され、メッセージが出力されます。ワークユニットの起動時には、ワークユニット起動が失敗します。その他の契機で呼び出された場合は、動作異常とはなりません。
ワークユニット出口プログラムがループなどにより復帰しない場合、ワークユニットの起動/停止が終了しません。そのため、必ず最大処理時間監視を行うようにしてください。
ワークユニット出口プログラムは以下のディレクトリ上で動作します。
プラットフォーム |
システム |
指定形式 (注1) |
---|---|---|
Windows(R) |
− |
xxx\yyy\zzz |
Solaris OE |
デフォルトシステム |
xxx/yyy/zzz |
拡張システム (注2) |
xxx/yyy.システム名/zzz |
また、上記ディレクトリ上に標準出力ファイルおよび標準エラー出力ファイルが出力されます。
ワークユニット出口機能の詳細については、“アプリケーション作成ガイド(コンポーネントトランザクションサービス編)”を参照してください。
ワークユニット出口機能はCORBAアプリケーション、トランザクションアプリケーションのワークユニットおよびEJBアプリケーションのワークユニット、一般アプリケーションのワークユニット(ユーティリティワークユニット)に対して使用可能です。
ワークユニット出口機能は出口プログラムがワークユニット起動時に一度呼び出され、ワークユニット停止時に一度呼び出されます。ワークユニット起動時/停止時にアプリケーションプロセスごとに呼び出される前/後出口機能とは異なる機能であるため、注意が必要です。
アプリケーションより標準出力または標準エラー出力に向けて出力されたデータは、カレントフォルダ配下のstdoutファイルまたはstderrファイルに出力されます。
しかし、Microsoft(R) Visual C++ .NETを使用してビルドされたアプリケーションでは、標準出力または標準エラー出力に向けて出力されたデータが、カレントフォルダ配下のstdoutファイルまたはstderrファイルに出力されません。
これを回避し正しく出力するためには、アプリケーションにおいて以下の対処を実施してください。
プログラムの先頭に以下のコードを追加してください。
freopen("stdout", "w", stdout); freopen("stderr", "w", stderr);
目次
索引
![]() ![]() |