如何在Spring Batch Job之后计算失败次数?

时间:2014-03-18 13:17:08

标签: java spring spring-batch

我想具体针对春季批量作业的跳过政策。因此,只需几次故障即可终止作业。无论如何,当工作完成时,我想知道实际发生了多少次失败。

stepBuilderFactory.get("step")....skipLimit(10).skip(CustomException.class);
JobExecution result = jobLauncher.run(job, params);
result.getAllFailureExceptions().size(); //always = 0

问题:失败大小总是= 0,因为当错误应该被跳过时,它们不计算在内。但如果我删除了skipLimit,那么该作业将立即终止。

那么如何在作业运行后获得错误计数?

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作。

int failures = 0;
Collection<StepExecution> stepExecutions = result.getStepExecutions();
for(StepExecution se : stepExecutions)
failures += se.getSkipCount();

结果你应该有失败次数