org.springframework.batch.item
Interface ItemReader<T>
- All Known Subinterfaces:
- ItemStreamReader<T>, PeekableItemReader<T>, ResourceAwareItemReaderItemStream<T>
- All Known Implementing Classes:
- AbstractCursorItemReader, AbstractItemCountingItemStreamItemReader, AbstractItemStreamItemReader, AbstractPagingItemReader, FlatFileItemReader, HibernateCursorItemReader, HibernatePagingItemReader, IbatisPagingItemReader, ItemReaderAdapter, IteratorItemReader, JdbcCursorItemReader, JdbcPagingItemReader, JmsItemReader, JpaPagingItemReader, ListItemReader, MultiResourceItemReader, ResourcesItemReader, SingleItemPeekableItemReader, StaxEventItemReader, StoredProcedureItemReader
public interface ItemReader<T>
Strategy interface for providing the data.
Implementations are expected to be stateful and will be called multiple times
for each batch, with each call to read()
returning a different value
and finally returning null
when all input data is exhausted.
Implementations need *not* be thread safe and clients of a ItemReader
need to be aware that this is the case.
A richer interface (e.g. with a look ahead or peek) is not feasible because
we need to support transactions in an asynchronous batch.
- Since:
- 1.0
- Author:
- Rob Harrop, Dave Syer, Lucas Ward
Method Summary |
T |
read()
Reads a piece of input data and advance to the next one. |
read
T read()
throws Exception,
UnexpectedInputException,
ParseException,
NonTransientResourceException
- Reads a piece of input data and advance to the next one. Implementations
must return
null
at 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.
- 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.
Exception
- if an there is a non-specific error.
Copyright © 2013 SpringSource. All Rights Reserved.