@scheduled(corn = "00 05 00 * * *"
时间: 2023-07-23 16:46:16 浏览: 133
这是一个 Spring Boot 中的定时任务注解,表示该方法将在每天的凌晨 00:05 执行。具体含义如下:
- "00":表示分钟数为 0;
- "05":表示小时数为 5;
- "00":表示每月的第 1 天;
- "*":表示每月的所有月份;
- "*":表示每周的所有天;
- "*":表示每周的所有小时。
因此,这个注解表示该方法将在每天的凌晨 00:05 执行。
相关问题
@Scheduled(corn = "${batch.fetch.bcm.check.files.corn:00 0/10 16-18 * * ?}"
这段代码中,@Scheduled 注解使用了 corn 属性来指定定时任务的执行时间。具体的时间是在配置文件中通过 ${batch.fetch.bcm.check.files.corn:00 0/10 16-18 * * ?} 进行配置的,这个配置中包含了一个 corn 表达式。
corn 表达式的含义是:在每天的下午 4 点到 6 点之间,每隔 10 分钟执行一次任务。如果配置文件中没有指定这个属性,那么就会使用默认值 "00 0/10 16-18 * * ?",即在每天的下午 4 点到 6 点之间,每隔 10 分钟执行一次任务。
需要注意的是,corn 表达式中的各个字段含义如下:
- 第一位表示秒,取值范围为 0~59。
- 第二位表示分,取值范围为 0~59。
- 第三位表示小时,取值范围为 0~23。
- 第四位表示日,取值范围为 1~31。
- 第五位表示月,取值范围为 1~12。
- 第六位表示星期,取值范围为 0~7(0 和 7 都表示星期天)。
- 第七位表示年(可选),取值范围为 1970~2099。
在这个示例中,星期位和年位都是使用的 "?",表示不指定。而其他的位都是使用了具体的取值或取值范围,以指定定时任务的执行时间。
@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容器扫描到,否则注解无效。
阅读全文