@Named
@Dependent
public class ValidationBatchlet
extends javax.batch.api.AbstractBatchlet
Batchlet
実装クラス。
一時テーブルのデータを全レコード取得し、DbInputStepConfig.getBean()
のバリデーションルールに従いバリデーションを実施する。
エラーが発生した場合には、そのレコードを退避テーブル(エラーテーブル)(ValidationStepConfig.getErrorEntity()
に対応するテーブル)に移動する。
また、エラーの詳細はワーニングレベルでログ出力を行う。
エラー発生時にジョブを継続するか否かのモード指定によって切り替えることができる。
ValidationStepConfig.getMode()
がValidationStepConfig.Mode.CONTINUE
の場合には処理を継続し、
ValidationStepConfig.Mode.ABORT
の場合には、EtlJobAbortedException
を送出しジョブを異常終了する。
許容するエラー数が設定でき、その数を超えた場合には即ジョブをアボートする。
許容するエラー数の設定は、ValidationStepConfig.getErrorLimit()
より取得する。
この値が設定されていない場合やマイナス値の場合は、この機能は無効化される。Constructor and Description |
---|
ValidationBatchlet(javax.batch.runtime.context.JobContext jobContext,
javax.batch.runtime.context.StepContext stepContext,
StepConfig stepConfig,
ProgressManager progressManager)
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
process() |
@Inject public ValidationBatchlet(javax.batch.runtime.context.JobContext jobContext, javax.batch.runtime.context.StepContext stepContext, StepConfig stepConfig, ProgressManager progressManager)
jobContext
- JobContext
stepContext
- StepContext
stepConfig
- ステップの設定progressManager
- 進捗状況を管理するBean