excel文件批量入库简单的线程池异步

要求读取Excel文件并加入数据库。之前同步操作,前端需要等待所有数据处理完才会收到返回。数据过大等待时间太长会挂掉,使用线程异步插入数据库。

1.SpringConfig 创建线程池

    @Bean
    public ThreadPoolTaskExecutor executor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(15);
        executor.setMaxPoolSize(30);
        executor.setQueueCapacity(1000);
        executor.setThreadNamePrefix("CustomExecutor-");
        executor.setWaitForTasksToCompleteOnShutdown(true);
        executor.initialize();
        return executor;
    }

2.注入:

  @Autowired
    private ThreadPoolTaskExecutor executor;

3.使用:

//线程异步导入数据库
 executor.execute(() -> imdate(appId, appStoreId, set));

imdate()为导入数据库操作,程序执行到这里是会异步开始执行imdate()方法,同时原线程不会等待,继续执行。实现了异步操作。

你可能感兴趣的:(java,excel导入数据库,线程池简单操作)