小编Ped*_*neh的帖子

为什么Spring Boot Batch作业只运行一次?

我正在使用弹簧靴.我有一个我用这些类实现的批处理作业:

我的主要课程是:

@SpringBootApplication
@ComponentScan("com.batch")
@PropertySource("classpath:application.properties")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }

}
Run Code Online (Sandbox Code Playgroud)

我的日程安排是:

@Component
@EnableScheduling
public class JobScheduler {

    @Scheduled(fixedRate = 10000)
    public void runJob() {
        SpringApplication.run(MyBatchConfig.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的批处理配置类是:

@Configuration
@EnableBatchProcessing
public class MyBatchConfig {

    @Value("${database.driver}")
    private String databaseDriver;
    @Value("${database.url}")
    private String databaseUrl;
    @Value("${database.username}")
    private String databaseUsername;
    @Value("${database.password}")
    private String databasePassword;

    @Bean
    public Job myJob(JobBuilderFactory jobs, Step s) {
        Job job = jobs.get("myJob")
                .incrementer(new RunIdIncrementer())
                .flow(s)
                .end()
                .build();
        return job;
    }

    @Bean
    public …
Run Code Online (Sandbox Code Playgroud)

java spring batch-processing spring-batch spring-boot

4
推荐指数
1
解决办法
4124
查看次数