SpringBoot 自定义ThreadPoolTaskScheduler线程池执行定时任务
Posted 张志翔 ̮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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线程池执行定时任务操作介绍完成。
以上是关于SpringBoot 自定义ThreadPoolTaskScheduler线程池执行定时任务的主要内容,如果未能解决你的问题,请参考以下文章