4.2.4.7.1. Nablarchバッチアプリケーションのエラー処理¶
4.2.4.7.1.1. バッチ処理をリランできるようにする¶
Nablarchバッチアプリケーションでは、ファイル入力を除き、 バッチ処理をリランできるようにする機能を提供していない。
そのため、処理対象レコードにステータスを持たせ、 処理成功や失敗時にステータスを変更するといった、 アプリケーションでの設計と実装が必要となる。 処理成功や失敗時のステータス変更の実装方法については、 トランザクション終了時に任意の処理を実行したい を参照。
ファイル入力については、 ResumeDataReader (レジューム機能付き読み込み) を使用することで、障害発生ポイントからの再実行ができる。
4.2.4.7.1.2. バッチ処理でエラー発生時に処理を継続する¶
エラー発生時の処理継続は、 常駐バッチ のみ対応している。 都度起動バッチ は対応していない。
常駐バッチ では、 TransactionAbnormalEnd を送出すると、 リトライハンドラ により処理が継続される。 ただし、 バッチ処理をリランできるようにする に記載した内容で、 バッチ処理がリランできるようになっている必要がある。
補足
都度起動バッチ で TransactionAbnormalEnd が送出されると、バッチ処理が異常終了となる。
4.2.4.7.1.3. バッチ処理を異常終了にする¶
アプリケーションでエラーを検知した場合に、 処理を継続せずにバッチ処理を異常終了させたい場合がある。
Nablarchバッチアプリケーションでは、 ProcessAbnormalEnd を送出すると、バッチ処理を異常終了にできる。 ProcessAbnormalEnd が送出された場合、プロセス終了コードはこのクラスに指定された値となる。