Interface ItemReader<T>
- All Known Subinterfaces:
ItemStreamReader<T>,PeekableItemReader<T>,ResourceAwareItemReaderItemStream<T>
- All Known Implementing Classes:
AbstractCursorItemReader,AbstractItemCountingItemStreamItemReader,AbstractItemStreamItemReader,AbstractPaginatedDataItemReader,AbstractPagingItemReader,AmqpItemReader,AvroItemReader,BlockingQueueItemReader,CompositeItemReader,FlatFileItemReader,ItemReaderAdapter,IteratorItemReader,JdbcCursorItemReader,JdbcPagingItemReader,JmsItemReader,JpaCursorItemReader,JpaPagingItemReader,JsonItemReader,KafkaItemReader,LdifReader,ListItemReader,MappingLdifReader,MessageChannelItemReader,MongoCursorItemReader,MongoPagingItemReader,MultiResourceItemReader,RedisItemReader,RepositoryItemReader,ResourcesItemReader,SingleItemPeekableItemReader,StaxEventItemReader,StoredProcedureItemReader,SupplierItemReader,SynchronizedItemReader,SynchronizedItemStreamReader
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
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
Implementations need not be thread-safe and clients of a
A richer interface (e.g. with a look ahead or peek) is not feasible because we need to support transactions in an asynchronous batch.
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, Mahmoud Ben Hassine, Taeik Lim
-
Method Summary
-
Method Details
-
read
Reads 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.- Returns:
- T the item to be processed or
nullif the data source is exhausted - Throws:
Exception- if an error occurs.
-