弹簧启动/批量禁用通过代码批量自动启动

时间:2017-08-31 09:26:53

标签: spring-boot spring-batch batch-processing

我正在编写一个弹簧批处理应用程序,其中包含需要按特定顺序执行的不同作业。 为了做到这一点,我通过JobLauncher手动运行作业,并通过在我的属性文件中添加以下属性来禁用Spring批处理提供的自动启动功能:

spring.batch.job.enabled=false

我想直接在代码中禁用此功能,而不是依赖任何人都可以访问和修改的配置文件。

有办法吗?

1 个答案:

答案 0 :(得分:3)

    061     data1
    238     data6
    264     data7
    439     data9
    682     help
    1264    moredata        
    2305    data2
    4080    data3
    5640    otherdata
    9251    data4
    11844   data5
    33940   data8

这是@Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix = "spring.batch.job", name = "enabled", havingValue = "true", matchIfMissing = true) public JobLauncherCommandLineRunner jobLauncherCommandLineRunner( JobLauncher jobLauncher, JobExplorer jobExplorer) { JobLauncherCommandLineRunner runner = new JobLauncherCommandLineRunner( jobLauncher, jobExplorer); String jobNames = this.properties.getJob().getNames(); if (StringUtils.hasText(jobNames)) { runner.setJobNames(jobNames); } return runner; }

由此判断,您可以尝试添加自己的BatchAutoConfiguration实现,但不执行任何操作。这会影响JobLauncherCommandLineRunner,但不应该运行。