spring注解@Scheduled中fixedDelayfixedRate和cron表达式的区别

Posted horizon~~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring注解@Scheduled中fixedDelayfixedRate和cron表达式的区别相关的知识,希望对你有一定的参考价值。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
                            http://www.springframework.org/schema/task 
                            http://www.springframework.org/schema/task/spring-task-3.0.xsd 
                            http://www.springframework.org/schema/context 
                            http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<context:component-scan base-package="com.test.*"/>
	<!--需要扫描的包-->
	<task:annotation-driven/> <!-- 这句是重点 定时器开关-->
</beans>

 

添加task定时任务的xml文件,配置在spring文件中

@Scheduled注解可以控制方法定时执行,其中有三个参数可选择:

1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。

2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。

3、cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。

 

具体使用方法参看使用Spring的@Scheduled实现定时任务
---------------------
作者:依鹏
来源:CSDN
原文:https://blog.csdn.net/m0_37240709/article/details/78499542
版权声明:本文为博主原创文章,转载请附上博文链接!

以上是关于spring注解@Scheduled中fixedDelayfixedRate和cron表达式的区别的主要内容,如果未能解决你的问题,请参考以下文章

使用spring提供的@Scheduled注解创建定时任务

spring @Scheduled注解执行定时任务

在Spring项目中使用@Scheduled注解定义简单定时任务

使用轻量级Spring @Scheduled注解执行定时任务

关于这个 Spring Batch @Scheduled() 注解以及如何手动启动 Spring Batch 作业的一些疑问?

spring boot @Scheduled未生效原因