@scheduled corn用法
时间: 2023-08-09 21:10:02 浏览: 57
`@Scheduled` 是 Spring 框架中用来定义定时任务的注解。其中 `cron` 属性用来指定任务的执行时间表达式,常用的时间表达式如下:
- `"*"`: 表示任意值,比如 `"* * * * * *"` 表示每秒钟执行一次;
- `"?"`: 表示不指定值,用于替代 `"*"`,比如 `"0 0 12 * * ?"` 表示每天中午 12 点执行一次;
- `"-"`: 表示区间,比如 `"0 0 12-18 * * ?"` 表示每天中午 12 点到下午 6 点期间每个整点执行一次;
- `","`: 表示枚举值,比如 `"0 0 12,18 * * ?"` 表示每天中午 12 点和下午 6 点各执行一次;
- `"/"`: 表示步长,比如 `"0/5 * * * * ?"` 表示每 5 秒执行一次。
具体用法可以根据自己的需求来灵活设置。
相关问题
@Scheduled的corn
@Scheduled的corn表达式是用于在注解@Scheduled中设置定时任务执行方式的。一个corn表达式有至少6个(也可能7个)有空格分隔的时间元素,格式为:秒 分 时 日 月 周 年(可选)。其中,各个时间元素还可以使用一些特殊字符表示不确定的值、指定数个值、指定一个值的范围、指定一个值的增加幅度、用在日表示一个月中的最后一天、用在周表示该月最后一个星期X、指定离给定日期最近的工作日、表示该月第几个周X等。
例如,corn表达式为“0 0 1 * * ?”表示每天凌晨1点执行一次。
@Scheduled的使用方法
@Scheduled是Spring框架中的一个注解,用于实现定时任务。它可以标记在方法上,表示该方法为一个定时任务,并且会按照预定的时间周期性地执行。下面是使用@Scheduled注解的方法:
```java
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyScheduledTask {
@Scheduled(fixedRate = 5000) // 每隔5秒执行一次
public void myTask() {
// 定时任务的逻辑代码
System.out.println("定时任务正在执行...");
}
}
```
在上面的例子中,我们使用@Scheduled注解来标记myTask()方法为一个定时任务。通过设置注解的属性`fixedRate`为5000,表示每隔5秒执行一次该方法。你可以根据需求设置其他属性,如`fixedDelay`、`cron`等。注意,被@Scheduled注解标记的方法必须为无参方法。