Package org.springframework.batch.repeat.listener

# Class CompositeRepeatListener

java.lang.Object
org.springframework.batch.repeat.listener.CompositeRepeatListener

All Implemented Interfaces:
  `RepeatListener`

public class CompositeRepeatListener extends Object implements RepeatListener
Allows a user to register one or more RepeatListeners to be notified on batch events.

Author:
  Dave Syer

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CompositeRepeatListener()`

- ## Method Summary

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

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CompositeRepeatListener

    public CompositeRepeatListener()

- ## Method Details

  - ### setListeners

    public void setListeners(RepeatListener[] listeners)
    Public setter for the listeners.
    Parameters:
      `listeners` - array of RepeatListeners to be used by the CompositeRepeatListener.

  - ### register

    public void register(RepeatListener listener)
    Register additional listener.
    Parameters:
      `listener` - the RepeatListener to be added to the list of listeners to be notified.

  - ### after

    public void after(RepeatContext context, RepeatStatus result)
    Description copied from interface: `RepeatListener`
    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.
    Specified by:
      `after` in interface `RepeatListener`
    Parameters:
      `context` - the current batch context
      `result` - the result of the callback

  - ### before

    public void before(RepeatContext context)
    Description copied from interface: `RepeatListener`
    Called by the framework before each batch item. Implementers can halt a batch by setting the complete flag on the context.
    Specified by:
      `before` in interface `RepeatListener`
    Parameters:
      `context` - the current batch context.

  - ### close

    public void close(RepeatContext context)
    Description copied from interface: `RepeatListener`
    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.
    Specified by:
      `close` in interface `RepeatListener`
    Parameters:
      `context` - the current batch context.

  - ### onError

    public void onError(RepeatContext context, Throwable e)
    Description copied from interface: `RepeatListener`
    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.
    Specified by:
      `onError` in interface `RepeatListener`
    Parameters:
      `context` - the current batch context
      `e` - the error that was encountered in an item callback.

  - ### open

    public void open(RepeatContext context)
    Description copied from interface: `RepeatListener`
    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).
    Specified by:
      `open` in interface `RepeatListener`
    Parameters:
      `context` - the current batch context