类 SynchronizedItemStreamReader<T>

  • 类型参数:
    T - type of object being read
    所有已实现的接口:
    ItemReader<T>, ItemStream, ItemStreamReader<T>, org.springframework.beans.factory.InitializingBean

    public class SynchronizedItemStreamReader<T>
    extends java.lang.Object
    implements ItemStreamReader<T>, org.springframework.beans.factory.InitializingBean
    This is a simple ItemStreamReader decorator with a synchronized ItemReader.read() method - which makes a non-thread-safe ItemReader thread-safe. However, if reprocessing an item is problematic then using this will make a job not restartable. Here are some links about the motivation behind this class: - https://projects.spring.io/spring-batch/faq.html#threading-reader} - https://stackoverflow.com/a/20002493/2910265}
    从以下版本开始:
    3.0.4
    作者:
    Matthew Ouyang
    • 方法详细资料

      • read

        public T read()
               throws java.lang.Exception,
                      UnexpectedInputException,
                      ParseException,
                      NonTransientResourceException
        This delegates to the read method of the delegate
        指定者:
        read 在接口中 ItemReader<T>
        返回:
        T the item to be processed or null if the data source is exhausted
        抛出:
        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.
      • close

        public void close()
        从接口复制的说明: 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.
        指定者:
        close 在接口中 ItemStream
      • update

        public void update​(ExecutionContext executionContext)
        从接口复制的说明: 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.
        指定者:
        update 在接口中 ItemStream
        参数:
        executionContext - to be updated
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.Exception
        指定者:
        afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBean
        抛出:
        java.lang.Exception