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
ConstructorDescriptionRedisItemReader
(org.springframework.data.redis.core.RedisTemplate<K, V> redisTemplate, org.springframework.data.redis.core.ScanOptions scanOptions) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
If any resources are needed for the stream to operate they need to be destroyed here.void
open
(ExecutionContext executionContext) Open the stream for the providedExecutionContext
.read()
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, wait
Methods inherited from interface org.springframework.batch.item.ItemStream
update
-
Constructor Details
-
RedisItemReader
-
-
Method Details
-
open
Description copied from interface:ItemStream
Open the stream for the providedExecutionContext
.- Specified by:
open
in 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:ItemReader
Reads a piece of input data and advance to the next one. Implementations must returnnull
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.- Specified by:
read
in interfaceItemReader<K>
- Returns:
- T the item to be processed or
null
if 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:ItemStream
If 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:
close
in interfaceItemStream
- Throws:
ItemStreamException
-