关于springbatch的一些经验

spring.batch.job.enabled=false # 默认自动执行定义的Job(true),改为false,需要jobLaucher.run执行

step单节点的多线程并行执行br/>@Bean
public Step helloWorldStep(StepBuilderFactory stepBuilders) {
return stepBuilders.get("helloWorldStep")
.<City, String>chunk(100)
.reader(reader(dataSource))
.processor(processor())
.writer(writer())
.taskExecutor(new SimpleAsyncTaskExecutor())//可以自定义线程池
.throttleLimit(8)
.build();
}

    断批续跑需要在逻辑上设立某字段标记数据是否已经被处理,使用JdbcPagingItemReader续跑处理未完成的数据

如果需要多结点并行,可以将key的集合发送到消息队列,并设置处理状态为已处理

猜你喜欢

转载自blog.51cto.com/12165865/2470916