【问题标题】:Unable to select spring batch job to run with spring.batch.job.names options无法使用 spring.batch.job.names 选项选择要运行的 spring 批处理作业
【发布时间】:2022-07-05 01:05:29
【问题描述】:

我有一个 spring 批处理代码库,它在其 BatchConfig 中定义了多个 Job bean。我在正确的位置使用spring.batch.job.enabled=false 禁用了自动运行。基本大纲是这样的:

我的批处理配置如下所示:

@Configuration
public class BatchConfiguration {

  @Autowired
  public JobBuilderFactory jobBuilderFactory;

  @Autowired
  public StepBuilderFactory stepBuilderFactory;

  @Bean
  public Job myTestJob1() {...}

  @Bean
  public Job myTestJob2() {...}

}

主类是:

@SpringBootApplication
@EnableBatchProcessing
public class BatchProcessingApplication {

  public static void main(String[] args) throws Exception {
    System.exit(SpringApplication.exit(SpringApplication.run(BatchProcessingApplication.class, args)));
  }
}

当我尝试像这样运行 jar 时,它将成功启动并退出而不运行作业:

java -jar batch.jar -spring.batch.job.names=myTestJob1

据我所知,这应该工作,但事实并非如此。我已经尝试将@EnableBatchProcessing 移动到 BatchCongfig 类,它也不起作用。

【问题讨论】:

  • 设置 spring.batch.job.enable=false 禁用 BatchAutoConfiguration JobLauncherApplicationRunner 配置,该配置使用 spring.batch.job.names 属性来确定要运行的作业。看看这里配置的第一个 Bean:github.com/spring-projects/spring-boot/blob/main/…

标签: java spring spring-batch


【解决方案1】:

请使用:
java -jar batch.jar --spring.batch.job.names=myTestJob1

【讨论】:

    猜你喜欢
    • 2014-09-27
    • 2021-04-05
    • 1970-01-01
    • 2021-01-15
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2019-05-26
    相关资源
    最近更新 更多