前言
-
开发目的: 提高百万级数据插入效率。
-
采取方案: 利用
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
publ