Java 迁移到Spring Boot 2后,Spring批处理作业停止运行
处理一个问题时,我有一个Spring批处理作业,代码如下:Java 迁移到Spring Boot 2后,Spring批处理作业停止运行,java,spring,spring-boot,spring-batch,Java,Spring,Spring Boot,Spring Batch,处理一个问题时,我有一个Spring批处理作业,代码如下: @Bean public Job job(@Qualifier("fileSyncStep") Step step1) { return jobBuilderFactory.get("myJob").start(step1).build(); } 在迁移到SpringBoot2之前,这项工作做得非常好。迁移到SpringBoot2后,应用程序仍然像以前一样加载良好,只是现在作业实际上无法运行。在花了几个小时尝试调试之后,我发现
@Bean
public Job job(@Qualifier("fileSyncStep") Step step1) {
return jobBuilderFactory.get("myJob").start(step1).build();
}
在迁移到SpringBoot2之前,这项工作做得非常好。迁移到SpringBoot2后,应用程序仍然像以前一样加载良好,只是现在作业实际上无法运行。在花了几个小时尝试调试之后,我发现如果我将作业的名称更改为唯一的名称,它就会运行一次。因此,如果我将“myJob”
的名称更改为新名称,如“myJob2”
或“newJobName”
,它将运行一次
谁能解释一下出了什么问题以及如何解决这个问题!?我不想每次都编写生成唯一名称的代码。我的日志处于完全调试级别,没有任何关于正在发生什么的指示。您可以从迁移中提供任何异常/输出?没有任何异常!最终,作业无法运行。我甚至添加了JobExecutionListener,beforeJob方法从未被调用。