1. 程式人生 > 其它 >解決定時任務@Scheduled的阻塞問題

解決定時任務@Scheduled的阻塞問題

技術標籤:javajava

@Scheduled採用單執行緒處理定時任務,不同的定時任務之間相互交錯執行,由於單執行緒的限制會出現不同的阻塞情況,直接在專案中新增如下配置類即可解決阻塞問題:

@Configuration
public class ScheduleConfig implements SchedulingConfigurer {
    /*如果採用註解@Asnyc的方式其預設執行緒池大小為100,會浪費資源*/
    @Bean
    public Executor taskExecutor() {
        //指定定時任務執行緒數量,可根據需求自行調節
        return
Executors.newScheduledThreadPool(5); } @Override public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { scheduledTaskRegistrar.setScheduler(taskExecutor()); } }