Class RedisItemReader<K,V>
java.lang.Object
org.springframework.batch.item.redis.RedisItemReader<K,V>
- Type Parameters:
K- type of keysV- type of values
- All Implemented Interfaces:
ItemReader<V>,ItemStream,ItemStreamReader<V>
Item reader for Redis based on Spring Data Redis. Uses a
RedisTemplate to query
data. The user should provide a ScanOptions to specify the set of keys to
query.
The implementation is not thread-safe and not restartable.
- Since:
- 5.1
- Author:
- Mahmoud Ben Hassine
-
Constructor Summary
ConstructorsConstructorDescriptionRedisItemReader(org.springframework.data.redis.core.RedisTemplate<K, V> redisTemplate, org.springframework.data.redis.core.ScanOptions scanOptions) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()If any resources are needed for the stream to operate they need to be destroyed here.voidopen(ExecutionContext executionContext) Open the stream for the providedExecutionContext.@Nullable Vread()Reads a piece of input data and advance to the next one.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.batch.item.ItemStream
update
-
Constructor Details
-
RedisItemReader
-
-
Method Details
-
open
Description copied from interface:ItemStreamOpen the stream for the providedExecutionContext.- Specified by:
openin interfaceItemStream- Parameters:
executionContext- current step'sExecutionContext. Will be the executionContext from the last run of the step on a restart.- Throws:
ItemStreamException
-
read
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<K>- 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.Exception- if an there is a non-specific error.
-
close
Description copied from interface:ItemStreamIf any resources are needed for the stream to operate they need to be destroyed here. Once this method has been called all other methods (except open) may throw an exception.- Specified by:
closein interfaceItemStream- Throws:
ItemStreamException
-