beforstep和afterstep注解

u7up0aaq  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(307)

我在itemreader中发现了beforstep和afterstep注解的问题。我希望有人能给我澄清一下。

工作原理:

我使用以下方法实现了itemreader:

public class ReaderImpl implements ItemReader<String> {

      @BeforeStep
      public void beforeStep(StepExecution stepExecution) {
         //do before step processing...
      }

      @Override
      public String read() {
         //do read...
      }

      @AfterStep
      public ExitStatus afterStep(StepExecution stepExecution) {
         //do after step processing...
      }
 }

xml配置:

<step id="step1">
    <tasklet>
        <chunk reader="readerImpl" writer="writer" commit-interval="100" />
    </tasklet>
</step>

<bean id="readerImpl" class="package.to.ReaderImpl" scope="step"/>

上面的上下文工作得很好,beforestep和afterstep方法正在正确执行。

什么不起作用:

当我用另一个bean Package readerimpl时,spring不再执行beforestep和afterstep方法。
例子:

<step id="step1">
    <tasklet>
        <chunk reader="synchronizedReaderImpl" processor="processor" writer="writer" commit-interval="100" />
    </tasklet>
</step>

<bean id="synchronizedReaderImpl" class="org.springframework.batch.item.support.SynchronizedItemStreamReader" scope="step">
    <property name="delegate" ref="readerImpl" />
</bean>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题