Spring批量容错分区步骤

时间:2015-03-04 09:52:52

标签: spring spring-batch

我们有分区步骤,它调用soap服务器,获取一些样式并在slave步骤中分割这些样式(一种样式是一个从属步骤)。

分区程序中的Soap通信可能会失败,我们希望尝试3次,直到整个分区程序失败。我们正在使用这样的java配置:

private Step partitioningStep() {
    return stepBuilderFactory.get("partitionedStyleLoadStep")
            .partitioner("styleItemToArticle", stylePartitioner).step(styleItemToArticleStep())
            .aggregator(styleAggregator)
            .taskExecutor(styleLoadTaskExecutor()).gridSize(gridSize).allowStartIfComplete(true).build();
}

当我们在调用StepBuilderFactory后使用chunk创建常规步骤时,我们会SimpleStepBuilder获得faultTolerant()方法(这允许设置步骤重试策略和其他有用的东西)。但是,在调用partitioner()之后的分区步骤中,返回的方法PartitionedStepBuilder没有faultTolerant()方法。

如何在此设置中轻松实现主分区步骤的重试?

1 个答案:

答案 0 :(得分:0)

目前,我们不支持在Spring Batch中使Partitioner#partition方法容错。这并不意味着你不能使用Spring Retry自己添加相同的想法(这与我们内部使用的组件相同)。您可以在此处阅读有关Spring Retry的更多信息:https://github.com/spring-projects/spring-retry