SpringBoot 自定义ThreadPoolTaskScheduler线程池执行定时任务

首页 / 新闻资讯 / 正文

        最近项目中有使用到通过自定义线程池来执行定时任务操作的配置,特此记录便于日后查阅。

package com.xxx.iot.message.restapi.config;  import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.config.ScheduledTaskRegistrar;  import java.util.concurrent.ThreadPoolExecutor;  /**  * @author zhangzhixiang on 2022/8/10  */ @Configuration @EnableScheduling public class ThreadPoolConfig implements SchedulingConfigurer {      /**      * 定时任务使用的线程池      * @return      */     @Bean(destroyMethod = "shutdown", name = "taskScheduler")     public ThreadPoolTaskScheduler taskScheduler(){         ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();         scheduler.setPoolSize(3);         scheduler.setThreadNamePrefix("timer-thread");         scheduler.setAwaitTerminationSeconds(600);         scheduler.setWaitForTasksToCompleteOnShutdown(true);         return scheduler;     }      @Override     public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {         scheduledTaskRegistrar.setTaskScheduler(taskScheduler());     } } 

        到此SpringBoot 自定义ThreadPoolTaskScheduler线程池执行定时任务操作介绍完成。

Top