java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring @Scheduled定时器注解使用

Spring @Scheduled定时器注解使用方式

作者:杜小舟

这篇文章主要介绍了Spring @Scheduled定时器注解使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

引言

@Scheduled 是用于在 Spring 框架中为方法配置定时任务的注解,它允许在一定的时间间隔或在特定的时间点运行一个方法,我们一般将该方法放在服务类中。

主要属性介绍

属性名称介绍
fixedRate以指定的毫秒数间隔连续执行方法。每次执行开始的时间都是固定的间隔时间。示例:@Scheduled(fixedRate = 5000) 表示该方法每5秒执行一次
fixedDelay以指定的毫秒数间隔执行方法。方法执行完毕后,等待给定的延迟时间,然后开始下一次执行。示例:@Scheduled(fixedDelay = 5000) 表示方法执行完毕后等待5秒,然后再执行下一次。
cron使用Cron表达式配置定时任务。Cron表达式可以非常灵活地指定任务的执行时间。示例:@Scheduled(cron = “0 0 * * * ?”) 表示每天的整点执行一次该方法
initialDelay在系统初始延迟时间之后开始首次执行。示例:@Scheduled(initialDelay = 2000, fixedRate = 5000) 在系统初始后,延迟2秒后开始,然后每5秒执行一次

cron 语法

简单介绍

Cron 表达式是一种由6到7个字段组成的字符串,每个字段代表时间的一个部分。

这些字段以空格分隔,依次是:

通常你会看到6个字段的Cron表达式(年份通常不使用)。

每个字段中的值可以是数字、特殊符号或者范围表示。

特殊符号

例子

@Scheduled(cron = "0 0 9 * * ?")
@Scheduled(cron = "0 0 10 ? * 2#1")
@Scheduled(cron = "0 0 14 ? * 3,5")
@Scheduled(cron = "0 */10 * * * ?")
@Scheduled(cron = "0 0 23 L * ?")

使用 @Scheduled 注解注意事项

线程安全

执行时间

配置

异常处理

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文