如何在Spring Batch的下一步中了解上一步执行状态

时间:2014-06-15 16:04:34

标签: spring batch-processing

我有一个包含3个步骤的批处理作业。我想阅读STATUS (COMPLETED/FAILED)step 2的{​​{1}}做出商业决策。

我不想在Step 3的批量配置中使用next on="COMPLETED" to="Tasklet1" next on="FAILED" to="Tasklet2";因为我需要编写两个tasklet。

我想只使用一个Tasklet来实现这一点。有没有办法让我知道步骤3中步骤2的步骤执行状态?

1 个答案:

答案 0 :(得分:1)

希望你现在有了解决方案。如果没有;

我不知道你为什么要检查FAILED状态,因为如果步骤失败,作业将终止。它无法进入下一步。

仍然是上一步状态,您可以查看jobExecution。

List<JobExecution> jobExecutions = jobExplorer.getJobExecutions(jobInstance);
for (JobExecution jobExecution : jobExecutions) {
   // Make sure the execution id is the current id
   // Then get the list of stepExecutions from jobExecution
   jobExecution.getStemExecutions();
   // From the list, check for the step you are looking for and then
   stepExecution.getExitStatus();
}

代码不是完整的代码并且可以编译,但是我会告诉你你正在寻找什么。