标签
spring
定时任务
字数
194 字
阅读时间
1 分钟
一、概述
二、使用示例
2.1 入门Demo
配置线程池
java
@Configuration
@EnableScheduling
public class AsyncTaskConfig implements SchedulingConfigurer, AsyncConfigurer {
//线程池线程数量
private int corePoolSize = 5;
@Bean
public ThreadPoolTaskScheduler taskScheduler(){
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.initialize();//初始化线程池
scheduler.setPoolSize(corePoolSize);//线程池容量
return scheduler;
}
@Override
public Executor getAsyncExecutor() {
Executor executor = taskScheduler();
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return null;
}
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
scheduledTaskRegistrar.setTaskScheduler(taskScheduler());
}
}使用方式
java
//在springboot启动类中添加 @EnableScheduling
//在要启动的方法上添加 @Scheduled注解
//上次执行开始时间后5秒执行
@Scheduled(fixedRate = 5000)
//上次执行完毕后5秒执行
@Scheduled(fixedDelay = 5000)
//第一次延迟3秒,以后每隔5秒执行一次
@Scheduled(initialDelay=3000, fixedRate=5000)
//每隔3秒执行一次
@Scheduled(cron="0/3 * * * * *")