Class ResourcesItemReader

java.lang.Object
org.springframework.batch.infrastructure.item.ItemStreamSupport
org.springframework.batch.infrastructure.item.support.AbstractItemStreamItemReader<org.springframework.core.io.Resource>
org.springframework.batch.infrastructure.item.file.ResourcesItemReader
All Implemented Interfaces:
ItemReader<org.springframework.core.io.Resource>, ItemStream, ItemStreamReader<org.springframework.core.io.Resource>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware

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, Jimmy Praet
See Also:
  • ResourceArrayPropertyEditor
  • 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

      public @Nullable org.springframework.core.io.Resource read() throws Exception
      Increments a counter and returns the next Resource instance from the input, or null if none remain.
      Returns:
      T the item to be processed or null if the data source is exhausted
      Throws:
      Exception - if an error occurs.
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      Description copied from interface: ItemStream
      Open the stream for the provided ExecutionContext.
      Parameters:
      executionContext - current step's ExecutionContext. Will be the executionContext from the last run of the step on a restart.
      Throws:
      ItemStreamException
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      Description copied from interface: ItemStream
      Indicates that the execution context provided during open is about to be saved. If any state is remaining, but has not been put in the context, it should be added here.
      Parameters:
      executionContext - to be updated
      Throws:
      ItemStreamException