首页 > 解决方案 > Spring Batch jobExecution.getStepExecutions 为空

问题描述

我正在使用 Spring Batch 4.3.2。. 我正在写测试,发现一些奇怪的东西,检查下面的代码。

JobExecution jobExecution = this.jobExplorer.getJobExecutions(jobInstance).get(0);
System.out.println("jobExecution by getJobExecutions jobExecution.getJobId() " + jobExecution.getJobId());
System.out.println("jobExecution by getJobExecutions jobExecution.getStepExecutions().size() " + jobExecution.getStepExecutions().size());
System.out.println("jobExecution by getJobExecutions jobExecution.getExitStatus()" + jobExecution.getExitStatus());

JobExecution lastJobExecution = this.jobExplorer.getLastJobExecution(jobInstance);
System.out.println("jobExecution by getLastJobExecution lastJobExecution.getJobId() " + lastJobExecution.getJobId());
System.out.println("jobExecution by getLastJobExecution lastJobExecution.getStepExecutions().size() " + lastJobExecution.getStepExecutions().size());
System.out.println("jobExecution by getLastJobExecution lastJobExecution.getExitStatus()" + lastJobExecution.getExitStatus());
jobExecution by getJobExecutions jobExecution.getJobId() 41
jobExecution by getJobExecutions jobExecution.getStepExecutions().size() 3
jobExecution by getJobExecutions jobExecution.getExitStatus()exitCode=COMPLETED;exitDescription=
jobExecution by getLastJobExecution lastJobExecution.getJobId() 41
jobExecution by getLastJobExecution lastJobExecution.getStepExecutions().size() 0
jobExecution by getLastJobExecution lastJobExecution.getExitStatus()exitCode=COMPLETED;exitDescription=

对于同一个jobExecution,我得到不同的“getStepExecutions()”结果,具体取决于我获取它们的方式。你有什么想法为什么会这样,或者我有什么问题吗?

干杯

标签: javaspring-batch

解决方案


这是SimpleJobExplorer#getLastJobExecution. 感谢您报告它。我在这里为它创建了一个问题https://github.com/spring-projects/spring-batch/issues/3943我计划在下一个补丁版本中发布。


推荐阅读