类 AsyncItemProcessor<I,​O>

  • 类型参数:
    I - the input object type
    O - the output object type (will be wrapped in a Future)
    所有已实现的接口:
    ItemProcessor<I,​java.util.concurrent.Future<O>>, org.springframework.beans.factory.InitializingBean

    public class AsyncItemProcessor<I,​O>
    extends java.lang.Object
    implements ItemProcessor<I,​java.util.concurrent.Future<O>>, org.springframework.beans.factory.InitializingBean
    An ItemProcessor that delegates to a nested processor and in the background. To allow for background processing the return value from the processor is a Future which needs to be unpacked before the item can be used by a client. Because the Future is typically unwrapped in the ItemWriter, there are lifecycle and stats limitations (since the framework doesn't know what the result of the processor is). While not an exhaustive list, things like StepExecution.filterCount will not reflect the number of filtered items and ItemProcessListener.onProcessError(Object, Exception) will not be called.
    作者:
    Dave Syer
    另请参阅:
    AsyncItemWriter
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型方法说明
      voidafterPropertiesSet()
      Check mandatory properties (the setDelegate(ItemProcessor)).
      java.util.concurrent.Future<O>process​(I item)
      Transform the input by delegating to the provided item processor.
      voidsetDelegate​(ItemProcessor<I,​O> delegate)
      The ItemProcessor to use to delegate processing to in a background thread.
      voidsetTaskExecutor​(org.springframework.core.task.TaskExecutor taskExecutor)
      The TaskExecutor to use to allow the item processing to proceed in the background.
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.Exception
        Check mandatory properties (the setDelegate(ItemProcessor)).
        指定者:
        afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBean
        抛出:
        java.lang.Exception
        另请参阅:
        InitializingBean.afterPropertiesSet()
      • setTaskExecutor

        public void setTaskExecutor​(org.springframework.core.task.TaskExecutor taskExecutor)
        The TaskExecutor to use to allow the item processing to proceed in the background. Defaults to a SyncTaskExecutor so no threads are created unless this is overridden.
        参数:
        taskExecutor - a TaskExecutor
      • process

        public java.util.concurrent.Future<Oprocess​(I item)
                                               throws java.lang.Exception
        Transform the input by delegating to the provided item processor. The return value is wrapped in a Future so that clients can unpack it later.
        指定者:
        process 在接口中 ItemProcessor<I,​O>
        参数:
        item - to be processed
        返回:
        potentially modified or new item for continued processing, null if processing of the provided item should not continue.
        抛出:
        java.lang.Exception - thrown if exception occurs during processing.
        另请参阅:
        ItemProcessor.process(Object)