我有一个包含3个步骤的批处理作业。我想阅读STATUS (COMPLETED/FAILED)
中step 2
的{{1}}做出商业决策。
我不想在Step 3
的批量配置中使用next on="COMPLETED" to="Tasklet1" next on="FAILED" to="Tasklet2"
;因为我需要编写两个tasklet。
我想只使用一个Tasklet来实现这一点。有没有办法让我知道步骤3中步骤2的步骤执行状态?
答案 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();
}
代码不是完整的代码并且可以编译,但是我会告诉你你正在寻找什么。