@Scheduled的corn
时间: 2023-11-08 19:05:18 浏览: 77
@Scheduled的corn表达式是用于在注解@Scheduled中设置定时任务执行方式的。一个corn表达式有至少6个(也可能7个)有空格分隔的时间元素,格式为:秒 分 时 日 月 周 年(可选)。其中,各个时间元素还可以使用一些特殊字符表示不确定的值、指定数个值、指定一个值的范围、指定一个值的增加幅度、用在日表示一个月中的最后一天、用在周表示该月最后一个星期X、指定离给定日期最近的工作日、表示该月第几个周X等。
例如,corn表达式为“0 0 1 * * ?”表示每天凌晨1点执行一次。
相关问题
@scheduled corn用法
`@Scheduled` 是 Spring 框架中用来定义定时任务的注解。其中 `cron` 属性用来指定任务的执行时间表达式,常用的时间表达式如下:
- `"*"`: 表示任意值,比如 `"* * * * * *"` 表示每秒钟执行一次;
- `"?"`: 表示不指定值,用于替代 `"*"`,比如 `"0 0 12 * * ?"` 表示每天中午 12 点执行一次;
- `"-"`: 表示区间,比如 `"0 0 12-18 * * ?"` 表示每天中午 12 点到下午 6 点期间每个整点执行一次;
- `","`: 表示枚举值,比如 `"0 0 12,18 * * ?"` 表示每天中午 12 点和下午 6 点各执行一次;
- `"/"`: 表示步长,比如 `"0/5 * * * * ?"` 表示每 5 秒执行一次。
具体用法可以根据自己的需求来灵活设置。
@Scheduled(corn='') 每周一早上六点执行
您可以在Java中使用`@Scheduled`注解来实现每周一早上六点执行任务。具体代码如下:
```java
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyTask {
@Scheduled(cron = "0 6 * * 1")
public void runTask() {
// 在这里编写具体的任务代码
}
}
```
解释如下:
- `@Scheduled`注解:表示这是一个定时任务方法。
- `cron`属性:表示定时任务的corn表达式,这里设为`0 6 * * 1`,表示每周一早上六点执行。
- `runTask()`方法:表示具体的任务代码实现。在这个方法中,你可以编写你需要执行的任务代码。当corn表达式到达指定时间点时,Spring框架会自动调用这个方法来执行你的任务。
需要注意的是,使用`@Scheduled`注解的类需要标注`@Component`注解,或者被Spring容器扫描到,否则注解无效。
阅读全文