Package org.springframework.batch.repeat

# Interface RepeatListener

All Known Implementing Classes:
  `CompositeRepeatListener`, `RepeatListenerSupport`

public interface RepeatListener
Interface for listeners to the batch process. Implementers can provide enhance the behaviour of a batch in small cross-cutting modules. The framework provides callbacks at key points in the processing.

Author:
  Dave Syer, Mahmoud Ben Hassine

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `after(RepeatContext context, RepeatStatus result)`
  Called by the framework after each item has been processed, unless the item processing results in an exception.
  `default void`
  `before(RepeatContext context)`
  Called by the framework before each batch item.
  `default void`
  `close(RepeatContext context)`
  Called once at the end of a complete batch, after normal or abnormal completion (i.e.
  `default void`
  `onError(RepeatContext context, Throwable e)`
  Called when a repeat callback fails by throwing an exception.
  `default void`
  `open(RepeatContext context)`
  Called once at the start of a complete batch, before any items are processed.

- ## Method Details

  - ### before

    default void before(RepeatContext context)
    Called by the framework before each batch item. Implementers can halt a batch by setting the complete flag on the context.
    Parameters:
      `context` - the current batch context.

  - ### after

    default void after(RepeatContext context, RepeatStatus result)
    Called by the framework after each item has been processed, unless the item processing results in an exception. This method is called as soon as the result is known.
    Parameters:
      `context` - the current batch context
      `result` - the result of the callback

  - ### open

    default void open(RepeatContext context)
    Called once at the start of a complete batch, before any items are processed. Implementers can use this method to acquire any resources that might be needed during processing. Implementers can halt the current operation by setting the complete flag on the context. To halt all enclosing batches (the whole job), the would need to use the parent context (recursively).
    Parameters:
      `context` - the current batch context

  - ### onError

    default void onError(RepeatContext context, Throwable e)
    Called when a repeat callback fails by throwing an exception. There will be one call to this method for each exception thrown during a repeat operation (e.g. a chunk).
    There is no need to re-throw the exception here - that will be done by the enclosing framework.
    Parameters:
      `context` - the current batch context
      `e` - the error that was encountered in an item callback.

  - ### close

    default void close(RepeatContext context)
    Called once at the end of a complete batch, after normal or abnormal completion (i.e. even after an exception). Implementers can use this method to clean up any resources.
    Parameters:
      `context` - the current batch context.