我的工作定义如下:
<batch:job id="myLoadJob">
<batch:step id="myTruncateStep">
<batch:tasklet ref="myTruncateTasklet" />
<batch:next on="*" to="myLoadStep"/>
</batch:step>
<batch:step id="myLoadStep">
<batch:tasklet>
<batch:chunk reader="myItemReader"
writer="myItemWriter" commit-interval="100" retry-limit="2">
<retryable-exception-classes>
<include class=" org.springframework.dao.DataAccessResourceFailureException"/>
</retryable-exception-classes>
</batch:chunk>
</batch:tasklet>
</batch:step>
</batch:job>
我的理解是,当myLoadStep由于配置了DataAccessResourceFailureException而失败时,该步骤应该最多重试2次。
我的问题是Spring Batch能否根据jobRepositor中保存的状态重新尝试中断的步骤?
修改 我根据讨论重新措辞了这个问题(评论) - 我相信CLI的-restart选项会重新启动这项工作 - 如何限制重新启动的次数,因为我们不希望作业无限期地运行