ワークユニットの起動に失敗した場合、起動に失敗した原因がメッセージに出力されています。使用者はメッセージを参照し、対処を行ってください。
以下にワークユニット起動に失敗する原因の可能性について説明します。
ワークユニット定義が登録されていない
ワークユニット定義が登録されていない場合、以下のどちらかのメッセージが出力されます。ワークユニット定義を登録してください。
tdstartwu:エラー:td21015:コマンドの実行に失敗しました 理由コード(3) isstartwu: エラー: is30807:コマンドの実行に失敗しました 理由コード(3)
カレントディレクトリが存在しない
ワークユニット定義で指定されたディレクトリが存在しない場合、メッセージEXTP4317が出力されます。
カレントディレクトリを作成するか、ワークユニット定義を正しく修正してください。
カレントフォルダを使用中である
ワークユニット起動時は、以前使用していたフォルダを削除したあと、カレントフォルダを作成します。
したがって、エクスプローラなどによりカレントフォルダ配下が使用中である場合、または使用中のプロセスが存在する場合は、メッセージEXTP4316が出力されます。
カレントフォルダが使用されている原因を調査してください。
ワークユニット出口プログラム(前処理)が異常終了した
ワークユニット起動時に呼び出されるワークユニット出口プログラム(前処理)が異常終了した場合、メッセージEXTP4659が出力されます。異常終了した原因を調査してください。これは使用者が作成したプログラムであるため、使用者が調査する必要があります。
ワークユニット出口プログラム(前処理)が異常復帰した
ワークユニット起動時に呼び出されるワークユニット出口プログラム(前処理)が異常終了した場合、メッセージEXTP4661が出力されます。異常復帰した原因を調査してください。これは使用者が作成したプログラムであるため、使用者が調査する必要があります。
実行ファイルのオープンで異常が発生した
以下の場合、メッセージEXTP4640が出力され、ワークユニットの起動に失敗します。
ワークユニット定義のアプリケーションライブラリパスに設定されたフォルダに、実行ファイルが存在しません。ワークユニット定義のアプリケーションライブラリパスおよび実行ファイル名が正しく設定されているかを確認してください。
アプリケーションプログラムの実行ファイルにアプリケーションが使用するライブラリがリンクされていません。必要なライブラリがすべてリンクされているかを確認してください。
ワークユニット定義のアプリケーション使用パス(Windows版)、またはアプリケーション使用ライブラリパス(Solaris版、Linux版)に、アプリケーションプログラムが動作時に使用するライブラリのパスが設定されていません。すべてのライブラリへのパスが設定されているかを確認してください。
メモリ不足が発生しています。メモリに十分な空き領域が存在するかを確認してください。
デスクトップヒープ領域が不足している
正常に起動していたワークユニットが、プロセス多重度を増加してワークユニットを起動すると、ポップアップダイアログが出力されて起動に失敗する場合、デスクトップヒープ領域が不足している可能性があります。デスクトップヒープ領域を拡張して、再起動してください。
スワップ領域が不足している
正常に起動していたワークユニットが、プロセス多重度を増加すると、ワークユニットの起動に失敗する場合、スワップ領域が不足している可能性があります。この場合、メモリ不足を示すInterstageのメッセージ、およびスワップ領域不足を示すOSのメッセージが出力されます。
スワップ領域が不足している場合は、スワップ領域を追加してください。また、以下のコマンドを実行し、システムにスワップ領域が正しく追加されているかを確認してください。
/usr/sbin/swap -l
インプリメンテーションリポジトリに登録されたサーバアプリケーションの動作モードに「COMPATIBLE」が指定されている
CORBAワークユニットの起動に失敗した場合、インプリメンテーションリポジトリに登録されたサーバアプリケーションの活性化後の動作モードがデフォルトの「COMPATIBLE」が指定されている可能性があります。以下に該当する場合、サーバアプリケーションの活性化後の動作モードは「SYNC_END」を指定してください。
サーバアプリケーションをプロセスモードで作成した場合
Javaのサーバアプリケーションの場合
COBOLのサーバアプリケーションの場合
OOCOBOLのサーバアプリケーションの場合
環境変数またはプロセス起動パラメタが不足している
CORBAワークユニットの起動に失敗した場合、アプリケーションの起動に必要な環境変数や起動パラメタが不足している可能性があります。
この場合、ワークユニット定義の「Start Log」(プロセス起動ログ採取)ステートメントに「YES」を指定し、プロセス起動時のログ出力機能を有効にして、ワークユニットを起動してください。
これにより、カレントディレクトリ配下に、プロセス起動時に設定されている環境変数と起動パラメタがログファイルに出力されます。ログファイルを参照し、環境変数と起動パラメタに過不足がないかを確認してください。過不足がある場合は、ワークユニット定義を修正し、再度実行してください。
注意
実行ファイル名および実行ファイルのパスに誤りがある場合、プロセス起動時のログは出力されません。
クラスパスにCORBAサービスが提供するJavaライブラリ設定されていない
クラスパスに使用するJDK/JREのバージョンに応じたCORBAサービスが提供するライブラリを設定する必要があります。詳細については、「アプリケーション作成ガイド (CORBAサービス編)」の「CORBAアプリケーションの実行」を参照してください。
実行環境とバージョンの異なるJDKでコンパイル(javac)したアプリケーションをCORBAワークユニットに配備している
CORBAワークユニットに配備したCORBA-Javaアプリケーションが、アプリケーションの格納ディレクトリに指定したjavaコマンドと異なるバージョンのjavacコマンドでコンパイルされています。アプリケーションの格納ディレクトリに指定したjavaコマンドと同一バージョンのjavacコマンドでアプリケーションをコンパイルし、アプリケーションを置き換えたあと、再度CORBAワークユニットを起動してください。
CORBA-Javaアプリケーションにおいて、ファイルに標準エラー出力を割り当てている場合は、ファイル内にjava.lang.IncompatibleClassChangeErrorが出力されていないかを確認してください。
カレントディレクトリ配下の標準エラー出力ファイル(stderr)を参照して、java.lang.IncompatibleClassChangeErrorが出力されていないかを確認してください。