如何在workflow.xml文件中配置Spring Batch RetryPolicy?

时间:2017-11-13 07:11:06

标签: spring-batch

我正在我的Spring Batch作业中引入自定义重试策略。以下是我在工作流程中定义的示例步骤。但我没有在哪里定义/配置"重试政策"?

请帮忙。

<job id="job1" job-repository="jobRepository">       
      <step id="step1">        
         <tasklet transaction-manager="jobRepository-transactionManager"  >
             <b:bean parent="tasklet1" scope="step">
                    <b:property name="scriptFile" value="script"/>                    
             </b:bean>
            </tasklet>
            <next on="COMPLETED" to="step2"/>
            <next on="FAILED" to="error"/>
        </step>
</job>      

1 个答案:

答案 0 :(得分:0)

以下是官方网站上有关如何为块配置Spring Batch RetryPolicy的示例。

<step id="step1">
   <tasklet>
      <chunk reader="itemReader" writer="itemWriter"
             commit-interval="2" retry-limit="3">
         <retryable-exception-classes>
            <include class="org.springframework.dao.DeadlockLoserDataAccessException"/>
         </retryable-exception-classes>
      </chunk>
   </tasklet>
</step>

step1配置了可以重试单个项目的次数限制,以及可以重试的例外列表。

您可以查看有关重试如何工作的更多详细信息Retry.

这是另一个例子spring-batch-retrytemplate-example