@Scheduled(cron = "0 0 0 ? * ?") 什么意思
时间: 2023-05-25 11:03:57 浏览: 196
这是一个Spring定时任务表达式,表示在每天的凌晨12点触发任务。具体解释如下:
由6个字段组成,分别是秒数、分钟、小时、月中的天、月份和一周中的星期。其中,第1个字段表示秒数(0~59),第2个字段表示分钟(0~59),第3个字段表示小时(0~23),第4个字段表示月中的天(1~31),第5个字段表示月份(1~12),第6个字段表示一周中的星期(1~7,其中1表示星期天,4表示星期三,7表示星期六)。
这里的表达式"0 0 0 ? * ?"中,?表示不确定的值,即当前字段可以是任意数值。因此,这个定时任务表示每天的零点触发,而星期几不确定。
相关问题
@Scheduled(cron = "0 * * * * ?")
`@Scheduled(cron = "0 * * * * ?")`是Spring框架中用于定时任务的注解,表示每分钟的第0秒执行一次任务。其中cron表达式的格式为:秒 分 时 日 月 星期,每个字段可以是一个具体的值,也可以是一个范围或者通配符。具体解释如下:
- 秒(0~59)
- 分钟(0~59)
- 小时(0~23)
- 日(0~31)
- 月(0~11)
- 星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
因此,`@Scheduled(cron = "0 * * * * ?")`表示每分钟的第0秒执行一次任务。
@Scheduled(cron = "0 0 0 * * ?") 和 @Scheduled(cron = "0 0 0 * * *") 的区别
这两个 cron 表达式都表示在每天的 0 点执行定时任务,但是它们的精度不同。具体来说,@Scheduled(cron = "0 0 0 * * ?") 的精度是到秒级别的,而 @Scheduled(cron = "0 0 0 * * *") 的精度是到天级别的。
因为 cron 表达式中的第六个字段(星期)和第七个字段(年份)是可选的,所以 @Scheduled(cron = "0 0 0 * * *") 等价于 @Scheduled(cron = "0 0 0 * * ?")。
如果你只需要每天执行一次定时任务,建议使用 @Scheduled(cron = "0 0 0 * * ?"),因为它可以防止在某些情况下任务重复执行。但是如果你需要以天为单位执行定时任务,则可以使用 @Scheduled(cron = "0 0 0 * * *")。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)