@Scheduled定时器参数表
时间: 2023-11-03 11:01:55 浏览: 88
@Scheduled定时器的参数表由cron表达式组成,cron表达式包含6个或7个字段,每个字段代表特定的时间单位。以下是cron表达式中每个字段的含义:
1. 秒(0-59)
2. 分钟(0-59)
3. 小时(0-23)
4. 日期(1-31)
5. 月份(1-12)
6. 星期(0-7,星期天为0或7)
7. 年份(可选)
每个字段可以使用特定的符号和值来设置定时器的触发规则。例如,“*”表示所有值,例如在分钟字段上设置“*”表示每一分钟都会触发。而“?”表示不指定值,例如在周字段上设置“?”表示不关心是星期几。
还有其他符号和值可以用来设置定时器的触发规则,例如“-”表示区间,例如在小时字段上设置“10-12”表示10点、11点和12点都会触发。而“/”表示递增触发,例如在秒字段上设置“5/15”表示从5秒开始,每增加15秒触发一次。
除了符号外,还可以使用英文字母来设置定时器的触发规则,例如“L”表示最后的意思,例如在日字段上设置“L”表示当月的最后一天。而“W”表示离指定日期的最近那个工作日,例如在日字段上设置“15W”表示离每月15号最近的工作日触发。
另外,还可以结合使用多个符号和值来设置定时器的触发规则,例如“LW”表示在本月的最后一个工作日触发。
总结起来,@Scheduled定时器的参数表由cron表达式组成,通过设置不同的符号和值,可以灵活地指定定时器的触发规则。
相关问题
Scheduled定时器
@Scheduled注解可以用于创建定时任务。在方法上加上@Scheduled注解,可以将这个方法定义为一个定时任务,并且可以使用cron表达式来控制任务的执行时间。为了开启定时任务,需要在类上添加@EnableScheduling注解。定时任务的执行过程包括解析注解参数并将其放入定时任务列表中,然后在定时任务列表中统一执行相应的任务。定时任务的执行顺序按照cron表达式的配置来判断执行时间,计算出下次执行时间并放入线程中,到了执行时间就会执行任务。此外,可以通过fixedRate和fixedDelay来配置任务的间隔时间,而cron表达式则可以配置任务在具体时刻执行。根据任务的需求,建议使用fixedRate和fixedDelay来强调任务间隔,而使用cron表达式来强调任务在特定时刻执行。配置文件中可以对定时任务进行相应的配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Java定时器 @Scheduled注解的使用](https://blog.csdn.net/m0_64416017/article/details/129582204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [@Scheduled定时器](https://blog.csdn.net/zqy123456_123/article/details/127845614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
java @Scheduled设置定时整点
以下是两种Java中使用@Scheduled注解设置定时整点的例子:
1. 使用cron表达式指定定时器执行时间
```java
@Component
public class ScheduldJob {
// 固定每天1点执行,无论上一次执行完没有,到时间会再执行。
@Scheduled(cron = "0 0 1 * * ?")
public void task() {
// 执行任务的代码
}
}
```
2. 使用fixedRateString参数设置定时整点
```java
@Component
public class ScheduldJob {
// 每间隔两小时执行一次。任务在服务启动时会执行一次,在上一次执行开始之后,再间隔两小时执行。
@Scheduled(fixedRateString = "7200000")
public void test() {
// 执行任务的代码
}
}
```
阅读全文