package com.vincent.rsf.server.common.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; /** * Created by vincent on 11/12/2024 */ @Configuration @EnableScheduling public class SchedulerConfig { /** 供未指定执行器名的 @Async 使用,避免与 taskScheduler、httpAuditExecutor 并存时报错 */ @Bean(name = "taskExecutor") public ThreadPoolTaskExecutor taskExecutor() { ThreadPoolTaskExecutor ex = new ThreadPoolTaskExecutor(); ex.setCorePoolSize(2); ex.setMaxPoolSize(10); ex.setQueueCapacity(200); ex.setThreadNamePrefix("async-"); ex.initialize(); return ex; } @Bean public ThreadPoolTaskScheduler taskScheduler() { ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.setPoolSize(10); scheduler.setThreadNamePrefix("scheduled-task-"); return scheduler; } }