バッチの戻りコード
バッチ・ジョブの戻りコードは、getBatchJobRC EJB インターフェース、getBatchJobRC Web サービス・インターフェース、または lrcmd getBatchJobRC コマンド・オプションを使用することで取得できます。
バッチ環境で使用するシステム・バッチ・ジョブの戻りコードを、以下の表にリストします。バッチ・ジョブの戻りコードを、ジョブ状況定数 (com.ibm.websphere.longrun.JobStatusConstants API を参照) またはジョブ・スケジューラー定数 (com.ibm.websphere.longrun.JobSchedulerConstants API を参照) のいずれかと混同しないようにしてください。 JobStatusConstants は、submitted、ended、restartable、canceled、または execution failed など、ジョブの状況を表します。
ジョブ状況は、getJobStatus EJB インターフェース、getJobStatus Web サービス・インターフェース、またはジョブ管理コンソールを使用することで取得できます。JobSchedulerConstants は、複数のジョブが関係する要求でジョブ・スケジューラーが返す操作状況を表します。 以下に例を示します。
int[] cancelJob( String[] jobid ))
これらの状況には、以下のものがあります。
- ジョブが存在しない
- ジョブが無効な状態にある
- データベース例外が発生した
戻りコード | 説明 |
---|---|
0 | ジョブが正常に終了しました |
-1 | 内部プロトコル・エラー - WSGrid ユーティリティー |
-2 | 入力パラメーター・エラー - WSGrid ユーティリティー |
-4 | ジョブが中断されました |
-8 | ジョブが取り消されました |
-10 | ジョブが強制的に取り消されました (z/OS® のみ) |
-12 | ジョブが失敗し、restartable 状態にあります |
-14 | ジョブが失敗し、execution failed 状態にあります** |
-16 | 重大な障害 - WSGrid ユーティリティー |

バッチ・アプリケーションでエラーを報告するために使用される方法は 2 つあります。
- 1 つ目は、エラー発生時にアプリケーションで例外を生成する方法です。 この場合、ジョブは終了し、バッチ・ジョブの戻りコード -12 が返されて、バッチ・ジョブの状況は restartable になります。 バッチ API の任意のメソッドで例外をスローできます。
- 2 つ目は、アプリケーションで、processJobStep メソッドからは BatchConstants.STEP_COMPLETE_EXECUTION_FAILED 戻りコード (com.ibm.websphere.batch.BatchConstants API を参照) を返し、destroyJobStep メソッドからはアプリケーション固有のエラー戻りコードを返す方法です。 この場合、ジョブは終了し、バッチ・ジョブの状況は execution failed になります。 destroyJobStep メソッドで設定されたステップの戻りコードがジョブ・ステップで指定された結果アルゴリズムに渡され、そのコードを使用してジョブの戻りコードが決定されて、障害の具体的な原因が示されます。