Spring Batch:如何设置每个项目之间的时间间隔

时间:2015-01-13 16:57:04

标签: spring spring-batch sleep

我必须在每个ItemWriter执行之间设置我的作业中的时间间隔,作为睡眠。

我正在使用一个块任务。

我的代码是:

<job id="job" xmlns="http://www.springframework.org/schema/batch">
    <step id="stepSendingEngine" parent="abstractStep">
        <tasklet>
            <chunk reader="Reader" writer="Writer" commit-interval="1" retry-limit="3" skip-limit="100" >
                <retryable-exception-classes>
                    <include class="MyException"/>
                   </retryable-exception-classes>
                <skippable-exception-classes>
                    <include class="MyException"/>
                </skippable-exception-classes>
            </chunk>
            <listeners>
                <listener ref="MySkipListener" />
            </listeners>
        </tasklet>
    </step>
    <listeners>
        <listener ref="myListenerSupport" />
    </listeners>
</job>  

1 个答案:

答案 0 :(得分:0)

我认为最好解释为什么在Writer执行之间需要这种Sleep。使用Spring Batch似乎不是正确的方法。

但是,这个工作仍由一个线程执行。你可以把睡眠放在任何地方(例如:在作家的实现中)。