在介绍了简单调度, 调度框架Quartz, 再来介绍一个spring框架的任务调度, spring-schedule.
在这里说一下该框架的优点:
- 基于注解来设置调度器。
- 非常方便实现简单的调度
- 对代码不具有入侵性,非常轻量级
使用说明
@Component
public class Demo{
@Scheduled(fixedRate = 1000)
public void do(){
doSomething();
}
}
以上是1秒执行一次。
注解详解
spring schedule的核心就是Scheduled注解的使用
public @interface Scheduled {
String cron() default ""; // 使用cron表达式
String zone() default "";
long fixedDelay() default -1L; //每次执行任务之后间隔多久再次执行该任务。
String fixedDelayString() default "";
long fixedRate() default -1L; // 执行频率,每隔多少时间就启动任务,不管该任务是否启动完成
String fixedRateString() default "";
long initialDelay() default -1L; //初次执行任务之前需要等待的时间
String initialDelayString() default "";
}
优点
所以我们会发现,spring schedule 用起来很简单,非常轻量级, 对代码无侵入性, 我们只需要注重业务的编写, 不需要关心如果构造Scheduler。
缺点
一旦调度任务被创建出来, 不能动态更改任务执行周期, 对于复杂的任务调度有一定的局限性。
网友评论