クラス 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.Awareorg.springframework.beans.factory.BeanNameAwareorg.springframework.beans.factory.FactoryBean<Step>

public class FaultTolerantStepFactoryBean<T,S> extends SimpleStepFactoryBean<T,S>
スキップ動作を構成するためのオプションを提供するステップのファクトリ Bean。ユーザーは setSkipLimit(int) を設定して、setSkippableExceptionClasses(Map) 型の例外を許容する数を設定できます。

書き込み時のスキップ可能な例外は、デフォルトでトランザクションのロールバックを引き起こします。特定の例外クラスのロールバックを回避するには、それをトランザクション属性に「ロールバックなし」として含めます。

作成者:
Dave Syer, Robert Kasanicky, Morten Andersen-Gott
関連事項:
  • コンストラクターの詳細

    • FaultTolerantStepFactoryBean

      public FaultTolerantStepFactoryBean()
  • メソッドの詳細

    • setKeyGenerator

      public void setKeyGenerator(KeyGenerator keyGenerator)
      ロールバック全体で失敗したアイテムを識別するために使用する KeyGeneratortransactional 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

      public void setSkipPolicy(SkipPolicy skipPolicy)
      アイテムの処理時に例外の結果を決定する SkipPolicyskipLimit をオーバーライドします。これが設定されている場合、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

      protected SimpleStepBuilder<T,S> createBuilder(StringSE name)
      オーバーライド:
      クラス SimpleStepFactoryBean<T,S>createBuilder 
    • applyConfiguration

      protected void applyConfiguration(SimpleStepBuilder<T,S> builder)
      オーバーライド:
      クラス SimpleStepFactoryBean<T,S>applyConfiguration