开发目的:
提高百万级数据插入效率。
采取方案:
利用ThreadPoolTaskExecutor
多线程批量插入。
采用技术:
-
springboot2.1.1
-
mybatisPlus3.0.6
-
swagger2.5.0
-
Lombok1.18.4
-
postgresql
-
ThreadPoolTaskExecutor
具体实现细节
application-dev.properties
添加线程池配置信息
# 异步线程配置
# 配置核心线程数
async.executor.thread.core_pool_size = 30
# 配置最大线程数
async.executor.thread.max_pool_size = 30
# 配置队列大小
async.executor.thread.queue_capacity = 99988
# 配置线程池中的线程的名称前缀
async.executor.thread.name.prefix = async-importDB-
spring容器注入线程池bean对象
@Configuration
@EnableAsync
@Slf4j
public class ExecutorConfig {
@Value("${async.executor.thread.core_pool_size}")
private int corePoolSize;
@Value("${async