处理一个问题,我有一个Spring批处理作业,其代码如下所示:
@Bean
public Job job(@Qualifier("fileSyncStep") Step step1) {
return jobBuilderFactory.get("myJob").start(step1).build();
}
在迁移到Spring Boot 2之前,这项工作非常顺利。迁移到Spring Boot2后,应用程序仍然像以前一样很好地加载,除非现在该作业实际上不会运行。在花了好几个小时试图调试之后,通过愚蠢的运气,我发现如果我将工作的名称改为独特的东西,它将运行一次。因此,如果我将"myJob"
的名称更改为"myJob2"
或"newJobName"
之类的新名称,则会运行一次。
任何人都可以解释出现了什么问题以及如何解决这个问题!?我不想每次都要编写生成唯一名称的代码。我有完整的调试级别的日志,并没有任何迹象表明发生了什么。