使用经典的java多线程执行,可以轻松证明并行执行(参见: SO: Java Thread Example ) 通过调用
this.getId()
这会产生 System.output.println():
[ID 9]
[ID 10]
[ID 8]
如何证明 Java Spring Batch/Spring Boot 中确实发生了并行执行?
最佳答案
喜欢documentation描述您可以配置作业
和步骤
。
要查看当前正在运行的作业或步骤,您需要为两者提供名称。
@Configuration
@EnableBatchProcessing
@EnableAutoConfiguration
public class BatchConfiguration {
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
private StepBuilderFactory stepBuilderFactory;
@Bean
public Step step1() {
return stepBuilderFactory.get("step1")
.tasklet(new Tasklet() {
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) {
return null;
}
})
.build();
}
@Bean
public Job job(Step step1) throws Exception {
return jobBuilderFactory.get("job1")
.incrementer(new RunIdIncrementer())
.start(step1)
.build();
}
}
和JobExecution有很多有关您工作的信息。
这里有一些有用的文档:
关于Java Spring 批处理 : How to Verify That Execution is Done in Parallel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41340512/