public class LimitCheckingItemSkipPolicy extends java.lang.Object implements SkipPolicy
スキップされた項目の数に基づいて読み取りを続行するかどうかを決定する SkipPolicy
。これは、レコードをスキップできるため非常に便利な動作ですが、設定された制限を超えると SkipLimitExceededException
がスローされます。例: 通常、FlatFileParseException
をスキップすることをお勧めしますが、レコードの大部分が例外を引き起こしている場合は、ファイルが不良である可能性があります。
さらに、特定の例外のみをスキップしたい場合もあります。FlatFileParseException
は、スキップする可能性が高い例外の良い例ですが、FileNotFoundException
を使用すると、Step
が即座に終了します。Classifier
は、特定の例外がスキップ可能かどうかを判別するために使用されます。
コンストラクターと説明 |
---|
LimitCheckingItemSkipPolicy() すべての例外型が致命的であると想定するコンビニエンスコンストラクター。 |
LimitCheckingItemSkipPolicy(int skipLimit, org.springframework.classify.Classifier<java.lang.Throwable,java.lang.Boolean> skippableExceptionClassifier) |
LimitCheckingItemSkipPolicy(int skipLimit, java.util.Map<java.lang.Class<? extends java.lang.Throwable>,java.lang.Boolean> skippableExceptions) |
修飾子と型 | メソッドと説明 |
---|---|
void | setSkipLimit(int skipLimit) 失敗する前に許容できる(スキップ可能な例外の)スキップの絶対数。 |
void | setSkippableExceptionClassifier(org.springframework.classify.Classifier<java.lang.Throwable,java.lang.Boolean> skippableExceptionClassifier) スキップ可能性を決定するために使用される分類子。 |
void | setSkippableExceptionMap(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,java.lang.Boolean> skippableExceptions) スロー可能なクラスからブール値への便利なマップを介して分類子を設定します(スキップ可能な場合は true)。 |
boolean | shouldSkip(java.lang.Throwable t, int skipCount) 提供された例外とスキップカウントを前提として、特定の例外に対して処理を続行するかどうかを決定します。 |
public LimitCheckingItemSkipPolicy()
public LimitCheckingItemSkipPolicy(int skipLimit, java.util.Map<java.lang.Class<? extends java.lang.Throwable>,java.lang.Boolean> skippableExceptions)
skipLimit
- スキップできるスキップ可能な例外の数 skippableExceptions
- スキップできる例外クラス (non-critical)public LimitCheckingItemSkipPolicy(int skipLimit, org.springframework.classify.Classifier<java.lang.Throwable,java.lang.Boolean> skippableExceptionClassifier)
skipLimit
- スキップできるスキップ可能な例外の数 skippableExceptionClassifier
- スキップできるものの例外分類子 (non-critical)public void setSkipLimit(int skipLimit)
skipLimit
- 設定するスキップ制限 public void setSkippableExceptionClassifier(org.springframework.classify.Classifier<java.lang.Throwable,java.lang.Boolean> skippableExceptionClassifier)
skippableExceptionClassifier
- 設定する skippableExceptionClassifierpublic void setSkippableExceptionMap(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,java.lang.Boolean> skippableExceptions)
skippableExceptions
- 設定するスキップ可能な例外 public boolean shouldSkip(java.lang.Throwable t, int skipCount)
StepExecution
skipCount が skipLimit より大きい場合、SkipLimitExceededException
がスローされます。SkipPolicy
の shouldSkip
t
- 処理中に例外が発生しました skipCount
- 現在実行中のスキップ数