Class ResourcesItemReader
java.lang.Object
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemReader<org.springframework.core.io.Resource>
org.springframework.batch.item.file.ResourcesItemReader
- All Implemented Interfaces:
ItemReader<org.springframework.core.io.Resource>
,ItemStream
,ItemStreamReader<org.springframework.core.io.Resource>
public class ResourcesItemReader
extends AbstractItemStreamItemReader<org.springframework.core.io.Resource>
ItemReader
which produces Resource
instances from an array.
This can be used conveniently with a configuration entry that injects a
pattern (e.g. mydir/*.txt
, which can then be converted by Spring
to an array of Resources by the ApplicationContext.
Thread-safe between calls to
open(ExecutionContext)
. The
ExecutionContext
is not accurate in a multi-threaded environment, so
do not rely on that data for restart (i.e. always open with a fresh context).- Since:
- 2.1
- Author:
- Dave Syer, Mahmoud Ben Hassine
- See Also:
-
ResourceArrayPropertyEditor
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
open
(ExecutionContext executionContext) No-op.org.springframework.core.io.Resource
read()
Increments a counter and returns the nextResource
instance from the input, ornull
if none remain.void
setResources
(org.springframework.core.io.Resource[] resources) The resources to serve up as items.void
update
(ExecutionContext executionContext) Return emptyExecutionContext
.Methods inherited from class org.springframework.batch.item.ItemStreamSupport
close, getExecutionContextKey, setExecutionContextName, setName
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
close
-
Constructor Details
-
ResourcesItemReader
public ResourcesItemReader()
-
-
Method Details
-
setResources
public void setResources(org.springframework.core.io.Resource[] resources) The resources to serve up as items. Hint: use a pattern to configure.- Parameters:
resources
- the resources
-
read
Increments a counter and returns the nextResource
instance from the input, ornull
if none remain.- 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.
-
open
Description copied from class:ItemStreamSupport
No-op.- Specified by:
open
in interfaceItemStream
- Overrides:
open
in classItemStreamSupport
- Parameters:
executionContext
- current step'sExecutionContext
. Will be the executionContext from the last run of the step on a restart.- Throws:
ItemStreamException
- See Also:
-
update
Description copied from class:ItemStreamSupport
Return emptyExecutionContext
.- Specified by:
update
in interfaceItemStream
- Overrides:
update
in classItemStreamSupport
- Parameters:
executionContext
- to be updated- Throws:
ItemStreamException
- See Also:
-