springboot延时
时间: 2023-10-23 18:49:09 浏览: 121
如何实现?
在Spring Boot中,可以通过使用@Scheduled注解和ThreadPoolTaskScheduler类来实现延时任务。
首先,在需要执行延时任务的方法上添加@Scheduled注解,并设置延时时间。例如,如果需要在5秒钟后执行任务,可以这样写:
@Scheduled(fixedDelay = 5000)
public void delayedTask() {
// 任务具体逻辑
}
其中,fixedDelay属性表示延时时间,单位为毫秒。
接下来,需要在配置类中创建一个ThreadPoolTaskScheduler实例,并注册为Bean:
@Configuration
@EnableScheduling
public class SchedulerConfig {
@Bean
public ThreadPoolTaskScheduler taskScheduler() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(5);
scheduler.setThreadNamePrefix("scheduler-");
scheduler.initialize();
return scheduler;
}
}
在初始化方法中,设置线程池的大小和线程名前缀。
最后,在带有@Scheduled注解的方法所在的类上添加@EnableScheduling注解,启用定时任务功能。
这样,延时任务就可以在配置的时间点执行了。
阅读全文