Class FaultTolerantChunkProvider<I>

java.lang.Object
org.springframework.batch.core.step.item.SimpleChunkProvider<I>
org.springframework.batch.core.step.item.FaultTolerantChunkProvider<I>
All Implemented Interfaces:
ChunkProvider<I>

@NullUnmarked @Deprecated(since="6.0", forRemoval=true) public class FaultTolerantChunkProvider<I> extends SimpleChunkProvider<I>
Deprecated, for removal: This API element is subject to removal in a future version.
Since 6.0, use ChunkOrientedStep instead. Scheduled for removal in 7.0.
FaultTolerant implementation of the ChunkProvider interface, that allows for skipping or retry of items that cause exceptions during reading or processing.
  • Field Details

    • DEFAULT_MAX_SKIPS_ON_READ

      public static final int DEFAULT_MAX_SKIPS_ON_READ
      Deprecated, for removal: This API element is subject to removal in a future version.
      Hard limit for number of read skips in the same chunk. Should be sufficiently high that it is only encountered in a runaway step where all items are skipped before the chunk can complete (leading to a potential heap memory problem).
      See Also:
  • Constructor Details

    • FaultTolerantChunkProvider

      public FaultTolerantChunkProvider(ItemReader<? extends I> itemReader, RepeatOperations repeatOperations)
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • setMaxSkipsOnRead

      public void setMaxSkipsOnRead(int maxSkipsOnRead)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Parameters:
      maxSkipsOnRead - the maximum number of skips on read
    • setSkipPolicy

      public void setSkipPolicy(SkipPolicy skipPolicy)
      Deprecated, for removal: This API element is subject to removal in a future version.
      The policy that determines whether exceptions can be skipped on read.
      Parameters:
      skipPolicy - instance of SkipPolicy to be used by FaultTolerantChunkProvider.
    • setRollbackClassifier

      public void setRollbackClassifier(org.springframework.classify.Classifier<Throwable,Boolean> rollbackClassifier)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Classifier to determine whether exceptions have been marked as no-rollback (as opposed to skippable). If encountered they are simply ignored, unless also skippable.
      Parameters:
      rollbackClassifier - the rollback classifier to set
    • read

      protected I read(StepContribution contribution, Chunk<I> chunk) throws Exception
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: SimpleChunkProvider
      Delegates to SimpleChunkProvider.doRead(). Subclasses can add additional behaviour (e.g. exception handling).
      Overrides:
      read in class SimpleChunkProvider<I>
      Parameters:
      contribution - the current step execution contribution
      chunk - the current chunk
      Returns:
      a new item for processing or null if the data source is exhausted
      Throws:
      SkipOverflowException - if specifically the chunk is accumulating too much data (e.g. skips) and it wants to force a commit.
      Exception - if there is a generic issue
    • postProcess

      public void postProcess(StepContribution contribution, Chunk<I> chunk)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      postProcess in interface ChunkProvider<I>
      Overrides:
      postProcess in class SimpleChunkProvider<I>