1 前言
欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章!
Spring相关文章:
Springboot-Cloud
前面写了一篇文章《通过例子讲解Spring Batch入门,优秀的批处理框架》讲解Spring Batch
入门,但要发挥它的作用,并行处理不能不了解。
2 四种模式
大多数情况下,单线程、单进程的Spring Batch
已经能满足你的需求。在我们走向更复杂的特性之前,先看看简单的能不能用,Keep it Simple and Stupid
。
不过,当你确定要使用并行处理时,Spring Batch
也提供了多种选择。整体上分为两大类:
- (1)单进程、多线程
- (2)多进程
细分如下:
- (1)多线程的
Step
(单进程) - (2)并行的
Steps
(单进程) - (3)远程分块(多进程)
- (4)远程分区(多进程)
光从名字看,很难理解它们之间的差别,我们来一一介绍吧。
2.1 多线程的Step
通过提供一个TaskExecutor
来执行,而TaskExecutor
是可以自定义的,我们可以提供一个基于线程池的TaskExecutor
,则可以实现多线程处理。
@Bean
public TaskExecutor taskExecutor(){
return new SimpleAsyncTaskExecutor("spring_batch");
}
@Bean
public Step sampleStep(TaskExecutor taskExecutor) {
return this.stepBuilderFactory.get