クラス FaultTolerantStepFactoryBean<T,S>
java.lang.ObjectSE
org.springframework.batch.core.step.factory.SimpleStepFactoryBean<T,S>
org.springframework.batch.core.step.factory.FaultTolerantStepFactoryBean<T,S>
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.beans.factory.BeanNameAware
、org.springframework.beans.factory.FactoryBean<Step>
スキップ動作を構成するためのオプションを提供するステップのファクトリ Bean。ユーザーは
setSkipLimit(int)
を設定して、setSkippableExceptionClasses(Map)
型の例外を許容する数を設定できます。書き込み時のスキップ可能な例外は、デフォルトでトランザクションのロールバックを引き起こします。特定の例外クラスのロールバックを回避するには、それをトランザクション属性に「ロールバックなし」として含めます。
- 作成者:
- Dave Syer, Robert Kasanicky, Morten Andersen-Gott
- 関連事項:
フィールドサマリー
クラス org.springframework.batch.core.step.factory.SimpleStepFactoryBean から継承されたフィールド
jobRepository, logger, observationRegistry
インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド
OBJECT_TYPE_ATTRIBUTE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected void
applyConfiguration
(SimpleStepBuilder<T, S> builder) protected SimpleStepBuilder<T,
S> createBuilder
(StringSE name) void
setBackOffPolicy
(org.springframework.retry.backoff.BackOffPolicy backOffPolicy) BackOffPolicy
の公開 setter。void
setCacheCapacity
(int cacheCapacity) 再試行ポリシーのキャッシュ容量用のパブリック setter。void
setKeyGenerator
(KeyGenerator keyGenerator) ロールバック全体で失敗したアイテムを識別するために使用するKeyGenerator
。void
setNoRollbackExceptionClasses
(CollectionSE<ClassSE<? extends ThrowableSE>> noRollbackExceptionClasses) ロールバックなしの候補である例外クラス。void
setProcessorTransactional
(boolean processorTransactional) void
setRetryableExceptionClasses
(MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptionClasses) 再試行可能な例外分類子マップのパブリック setter(スロー可能なクラスからブール値まで、true は再試行可能です)。void
setRetryContextCache
(org.springframework.retry.policy.RetryContextCache retryContextCache) チャンク処理の再試行のために、デフォルトの再試行コンテキストキャッシュをオーバーライドします。void
setRetryLimit
(int retryLimit) 再試行制限のパブリック setter。void
setRetryListeners
(org.springframework.retry.RetryListener... retryListeners) RetryListener
のパブリック setter。void
setRetryPolicy
(org.springframework.retry.RetryPolicy retryPolicy) 再試行ポリシーの Setter。void
setSkipLimit
(int skipLimit) スキップポリシーを決定する制限。void
setSkippableExceptionClasses
(MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> exceptionClasses) 発生したときにジョブをクラッシュさせないが、処理によって例外がスキップされたアイテムが生成される例外クラス。void
setSkipPolicy
(SkipPolicy skipPolicy) アイテムの処理時に例外の結果を決定するSkipPolicy
。クラス org.springframework.batch.core.step.factory.SimpleStepFactoryBean から継承されたメソッド
getChunkOperations, getExceptionHandler, getItemProcessor, getItemReader, getItemWriter, getListeners, getName, getObject, getObjectType, getStepOperations, getTaskExecutor, getTransactionAttribute, isReaderTransactionalQueue, isSingleton, setAllowStartIfComplete, setBeanName, setChunkCompletionPolicy, setChunkOperations, setCommitInterval, setExceptionHandler, setIsolation, setIsReaderTransactionalQueue, setItemProcessor, setItemReader, setItemWriter, setJobRepository, setListeners, setObservationRegistry, setPropagation, setSingleton, setStartLimit, setStepOperations, setStreams, setTaskExecutor, setThrottleLimit, setTransactionManager, setTransactionTimeout
コンストラクターの詳細
FaultTolerantStepFactoryBean
public FaultTolerantStepFactoryBean()
メソッドの詳細
setKeyGenerator
ロールバック全体で失敗したアイテムを識別するために使用するKeyGenerator
。transactional queue flag
が false(デフォルト)の場合は使用されません。- パラメーター:
keyGenerator
- 設定するKeyGenerator
setRetryPolicy
public void setRetryPolicy(org.springframework.retry.RetryPolicy retryPolicy) 再試行ポリシーの Setter。これを指定すると、他の再試行プロパティ (retryLimit、backOffPolicy、retryableExceptionClasses) は無視されます。- パラメーター:
retryPolicy
- ステートレスRetryPolicy
setRetryLimit
public void setRetryLimit(int retryLimit) 再試行制限のパブリック setter。各アイテムはこの制限まで再試行できます。この制限には、アイテムを処理する最初の試行が含まれるため、デフォルトではretryLimit == 1
です。- パラメーター:
retryLimit
- 設定する再試行制限。1 以上でなければなりません。
setCacheCapacity
public void setCacheCapacity(int cacheCapacity) 再試行ポリシーのキャッシュの容量のパブリック setter。これより多くのアイテムがスキップまたは回復されずに失敗した場合、例外がスローされます。これは、アイテム ID の問題によって生成される不注意な無限ループを防ぐためです。
デフォルト値は、ほとんどの目的で十分に高く、それ以上である必要があります。シングルスレッドステップで制限に違反するには、通常、1 回のトランザクションでこれだけ多くの障害が発生する必要があります。デフォルトはMapRetryContextCache
の値です。
setRetryContextCache(RetryContextCache)
が直接設定されている場合、このプロパティは無視されます。- パラメーター:
cacheCapacity
- 設定するキャッシュ容量 (0 より大きい場合は無視)
setRetryContextCache
public void setRetryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache) チャンク処理の再試行のために、デフォルトの再試行コンテキストキャッシュをオーバーライドします。このプロパティが設定されている場合、setCacheCapacity(int)
は無視されます。- パラメーター:
retryContextCache
- 設定するRetryContextCache
setRetryableExceptionClasses
public void setRetryableExceptionClasses(MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptionClasses) 再試行可能な例外分類子マップのパブリック setter(スロー可能なクラスからブール値まで、true は再試行可能です)。- パラメーター:
retryableExceptionClasses
- 設定する retryableExceptionClasses
setBackOffPolicy
public void setBackOffPolicy(org.springframework.retry.backoff.BackOffPolicy backOffPolicy) BackOffPolicy
の公開 setter。- パラメーター:
backOffPolicy
- 設定するBackOffPolicy
setRetryListeners
public void setRetryListeners(org.springframework.retry.RetryListener... retryListeners) RetryListener
のパブリック setter。- パラメーター:
retryListeners
- 設定するRetryListener
setSkipLimit
public void setSkipLimit(int skipLimit) スキップポリシーを決定する制限。この値が正の場合、チャンク処理の例外によりアイテムがスキップされ、制限に達するまで例外は伝播されません。ゼロの場合、すべての例外がチャンクから伝播され、ステップが中止されます。- パラメーター:
skipLimit
- 設定する値。デフォルトは 0(スキップしない)です。
setSkipPolicy
アイテムの処理時に例外の結果を決定するSkipPolicy
。skipLimit
をオーバーライドします。これが設定されている場合、skippableExceptionClasses
も無視されます。- パラメーター:
skipPolicy
- 設定するSkipPolicy
setSkippableExceptionClasses
public void setSkippableExceptionClasses(MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> exceptionClasses) 発生したときにジョブをクラッシュさせないが、処理によって例外がスキップされたアイテムが生成される例外クラス。「ロールバックなし」とマークされている例外もスキップできますが、その逆はできません。skip limit
も設定することを忘れないでください。
デフォルトはすべて例外なしです。- パラメーター:
exceptionClasses
- デフォルトはException
setNoRollbackExceptionClasses
public void setNoRollbackExceptionClasses(CollectionSE<ClassSE<? extends ThrowableSE>> noRollbackExceptionClasses) ロールバックなしの候補である例外クラス。Step
は、すべての状況でロールバックなしのヒントを尊重できるわけではありませんが、このリストの例外はスキップ可能としてカウントされるため、ロールバックが必要な場合でも、スキップ制限に違反しない限り、ステップは失敗しません。
デフォルトは空です。- パラメーター:
noRollbackExceptionClasses
- 設定する例外クラス
setProcessorTransactional
public void setProcessorTransactional(boolean processorTransactional) - パラメーター:
processorTransactional
- ブール値は、ItemProcessor
がトランザクションに参加しているかどうかを示します。
createBuilder
- オーバーライド:
- クラス
SimpleStepFactoryBean<T,
のS> createBuilder
applyConfiguration
- オーバーライド:
- クラス
SimpleStepFactoryBean<T,
のS> applyConfiguration