@Bean("taskExecutor")public Executor taskExecutor(){ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();//配置核心线程数taskExecutor.setCorePoolSize(100);//配置最大线程数taskExecutor.setMaxPoolSize(500);//配置队列大小taskExecutor.setQueueCapacity(200);//线程池维护线程所允许的空闲时间taskExecutor.setKeepAliveSeconds(60);//配置线程池中的线程的名称前缀taskExecutor.setThreadNamePrefix("async-service-");//当调度器shutdown被调用时等待当前被调度的任务完成taskExecutor.setWaitForTasksToCompleteOnShutdown(true);//等待时长taskExecutor.setAwaitTerminationSeconds(60);/*** 第一种AbortPolicy:不执行新任务,直接抛出异常,提示线程池已满* 第二种DisCardPolicy:不执行新任务,也不抛出异常* 第三种DisCardOldSetPolicy:将消息队列中的第一个任务替换为当前新进来的任务执行* 第四种CallerRunsPolicy:直接调用execute来执行当前任务*/taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());taskExecutor.initialize();return taskExecutor;}