Job的创建和使用
这是一个包含三个step的job 这段不用复制
@Bean
public Job jobDemoJob(){
return jobBuilderFactory.get("JobDemo")
.start(steptset1())
.next(steptest2())
.next(steptest3())
.build();
}
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableBatchProcessing
public class JobDemo {
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
private StepBuilderFactory stepBuilderFactory;
@Bean
public Job jobDemoJob(){
return jobBuilderFactory.get("JobDemo")
.start(steptset1())
.next(steptest2())
.next(steptest3())
.build();
}
@Bean
public Step steptset1() {
return stepBuilderFactory.get("steptest1").tasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception {
System.out.println("steptest1");
return RepeatStatus.FINISHED;
}
}).build();
}
@Bean
public Step steptest2() {
return stepBuilderFactory.get("steptest2").tasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception {
System.out.println("steptest2");
return RepeatStatus.FINISHED;
}
}).build();
}
@Bean
public Step steptest3() {
return stepBuilderFactory.get("steptest3").tasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception {
System.out.println("steptest3");
return RepeatStatus.FINISHED;
}
}).build();
}
}