@scheduled注解源码
时间: 2023-10-06 13:14:21 浏览: 100
@Scheduled注解的源码定义如下:
```java
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Scheduled {
String cron() default "";
String zone() default "";
long fixedDelay() default -1;
String fixedDelayString() default "";
long fixedRate() default -1;
String fixedRateString() default "";
long initialDelay() default -1;
String initialDelayString() default "";
}
```
在源码中,@Scheduled注解有几个属性可以使用:
1. cron: 定义cron表达式,用于指定任务的执行时间。
2. zone: 时区属性,用于指定任务的执行时区。
3. fixedDelay: 固定延迟时间,表示任务执行完成后,延迟指定的时间再执行下一次任务。
4. fixedDelayString: 固定延迟时间的字符串形式。
5. fixedRate: 固定速率时间,表示任务开始执行后,固定时间间隔执行下一次任务。
6. fixedRateString: 固定速率时间的字符串形式。
7. initialDelay: 初始延迟时间,表示任务启动后延迟指定的时间才开始执行第一次任务。
8. initialDelayString: 初始延迟时间的字符串形式。
需要注意的是,cron表达式必须由6个占位符组成(秒数、分钟、小时、日期、月份、星期),若使用7个占位符会报错。另外,可以使用*、/、-等符号来组合和表示时间间隔。具体的使用方法和示例可以参考引用、和中的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文