Class ExceptionThrowingItemReaderProxy<T>
- java.lang.Object
- org.springframework.batch.sample.support.ExceptionThrowingItemReaderProxy<T>
- All Implemented Interfaces:
ItemReader<T>
public class ExceptionThrowingItemReaderProxy<T> extends java.lang.Object implements ItemReader<T>
HackedItemReaderthat throws exception on a given record number (useful for testing restart).- Author:
- Robert Kasanicky, Lucas Ward
Constructor Summary
Constructors Constructor Description ExceptionThrowingItemReaderProxy()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Tread()Reads a piece of input data and advance to the next one.voidsetDelegate(ItemReader<T> delegate)voidsetThrowExceptionOnRecordNumber(int throwExceptionOnRecordNumber)
Method Detail
setThrowExceptionOnRecordNumber
public void setThrowExceptionOnRecordNumber(int throwExceptionOnRecordNumber)
- Parameters:
throwExceptionOnRecordNumber- The number of record on which exception should be thrown
read
public T read() throws java.lang.Exception
Description copied from interface:ItemReaderReads a piece of input data and advance to the next one. Implementations must returnnullat the end of the input data set. In a transactional setting, caller might get the same item twice from successive calls (or otherwise), if the first call was in a transaction that rolled back.- Specified by:
readin interfaceItemReader<T>- Returns:
- T the item to be processed or
nullif the data source is exhausted - Throws:
ParseException- if there is a problem parsing the current record (but the next one may still be valid)NonTransientResourceException- if there is a fatal exception in the underlying resource. After throwing this exception implementations should endeavour to return null from subsequent calls to read.UnexpectedInputException- if there is an uncategorised problem with the input data. Assume potentially transient, so subsequent calls to read might succeed.java.lang.Exception- if an there is a non-specific error.
setDelegate
public void setDelegate(ItemReader<T> delegate)