LongRunningJobConfig.java
/*
* Copyright 2000-2014 Namics AG. All rights reserved.
*/
package com.namics.oss.spring.support.batch.starter.sample.jobs;
import com.namics.oss.spring.support.batch.starter.sample.tasklet.LongRunningTasklet;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.inject.Inject;
/**
* LongRunningJobConfig.
*
* @author lboesch, Namics AG
* @since 20.06.2017
*/
@Configuration
public class LongRunningJobConfig {
@Inject
protected JobBuilderFactory jobBuilders;
@Inject
protected StepBuilderFactory stepBuilders;
//modular batch configuration, no problems with bean name clashes.
// see com.namics.oss.spring.support.batch.starter.sample.jobs.LegacyCleanUpJobConfig.batchSpringBatchDatabaseCleanUp() with same name
@Bean
public Job batchSpringBatchDatabaseCleanUp() {
return jobBuilders.get("veryLongRunningJob")
.start(stepBuilders.get("veryLongRunningJobStep1")
.tasklet(longRunningTasklet())
.build())
.build();
}
@Bean
public LongRunningTasklet longRunningTasklet() {
return new LongRunningTasklet(5);
}
}