springboot 多线程批量插入百万级数据

开发目的:提高百万级数据插入效率。

采取方案:利用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.executor.thread.max_pool_size}")
    private int maxPoolSize;
    @Value("${async.executor.thread.queue_capacity}")
    private int queueCapacity;
    @Value("${async.executor.thread.name.prefix}")
    private String nameP

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/103697108
今日推荐