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.
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).ResourceArrayPropertyEditor
Constructor and Description |
---|
ResourcesItemReader() |
Modifier and Type | Method and Description |
---|---|
void |
open(ExecutionContext executionContext)
No-op.
|
org.springframework.core.io.Resource |
read()
Increments a counter and returns the next
Resource instance from
the input, or null if none remain. |
void |
setResources(org.springframework.core.io.Resource[] resources)
The resources to serve up as items.
|
void |
update(ExecutionContext executionContext)
Return empty
ExecutionContext . |
close, getExecutionContextKey, setExecutionContextName, setName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close
public void setResources(org.springframework.core.io.Resource[] resources)
resources
- the resourcespublic org.springframework.core.io.Resource read() throws java.lang.Exception
Resource
instance from
the input, or null if none remain.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.java.lang.Exception
- if an there is a non-specific error.public void open(ExecutionContext executionContext) throws ItemStreamException
ItemStreamSupport
open
in interface ItemStream
open
in class ItemStreamSupport
executionContext
- current step's ExecutionContext
. Will be the
executionContext from the last run of the step on a restart.ItemStreamException
ItemStream.open(ExecutionContext)
public void update(ExecutionContext executionContext) throws ItemStreamException
ItemStreamSupport
ExecutionContext
.update
in interface ItemStream
update
in class ItemStreamSupport
executionContext
- to be updatedItemStreamException
ItemStream.update(ExecutionContext)