Interface ItemWriteListener<S>

All Superinterfaces:
StepListener
All Known Implementing Classes:
CompositeItemWriteListener, DefaultItemFailureHandler, ItemListenerSupport, MulticasterBatchListener, StepListenerSupport

public interface ItemWriteListener<S> extends StepListener

Listener interface for the writing of items. Implementations of this interface will be notified before, after, and in case of any exception thrown while writing a list of items.

Note: This listener is designed to work around the lifecycle of an item. This means that each method should be called once within the lifecycle of an item and in fault tolerant scenarios, any transactional work that is done in one of these methods would be rolled back and not re-applied. Because of this, it is recommended to not perform any logic using this listener that participates in a transaction.

Author:
Lucas Ward, Mahmoud Ben Hassine
  • Method Details

    • beforeWrite

      default void beforeWrite(List<? extends S> items)
      Parameters:
      items - to be written
    • afterWrite

      default void afterWrite(List<? extends S> items)
      Called after ItemWriter.write(java.util.List) This will be called before any transaction is committed, and before ChunkListener.afterChunk(ChunkContext)
      Parameters:
      items - written items
    • onWriteError

      default void onWriteError(Exception exception, List<? extends S> items)
      Called if an error occurs while trying to write. Will be called inside a transaction, but the transaction will normally be rolled back. There is no way to identify from this callback which of the items (if any) caused the error.
      Parameters:
      exception - thrown from ItemWriter
      items - attempted to be written.