SpringBoot定时随笔
程序员文章站
2022-03-02 14:38:49
...
- 定时实现方式比较
@Scheduled注解可以控制方法定时执行,其中有三个参数可选择:
1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。
2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。
3、cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。
- 多线程定时配置
import java.util.concurrent.Executors; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.config.ScheduledTaskRegistrar; /** * @author * */ @Configuration public class ScheduleConfig implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.setScheduler(Executors.newScheduledThreadPool(15)); } }
推荐阅读
-
MySQL每晚定时弹出一个taskeng.exe的解决方法
-
从安装到使用springboot集成RocketMq4.5.2
-
SpringBoot环境搭建图文教程
-
javascript 定时广告显示(两个时间段) 原创
-
SpringBoot启动报错Failed to determine a suitable driver class
-
SpringBoot 统一异常处理详解
-
SpringBoot注册Servlet的三种方法详解
-
详解JS中定时器setInterval和setTImeout的this指向问题
-
SpringBoot 调度任务及常用任务表达式
-
SpringBoot 实战 之 优雅终止服务的方法