码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot 中使用计划任务

时间:2018-05-16 15:23:45      阅读:447      评论:0      收藏:0      [点我收藏+]

标签:ring   使用   length   ann   sed   ram   简单   except   意义   

在 SpringBoot 中使用 @Scheduled 十分简单,只需在方法上加上 @Scheduled 注释即可。

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

@Component
public class XXXTask {

    @Scheduled(fixedDelay = 60 * 1000)
    @Transactional
    public void run() {
        // 省略部分代码
    }

}
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 "";
}

fixedDelayString fixedRateString initialDelayString 后面加 String 的意义

源码位置:org/springframework/spring-context/5.0.5.RELEASE/spring-context-5.0.5.RELEASE.jar!/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.class:240

private static long parseDelayAsLong(String value) throws RuntimeException {
    return value.length() <= 1 || !isP(value.charAt(0)) && !isP(value.charAt(1)) ? Long.parseLong(value) : Duration.parse(value).toMillis();
}

private static boolean isP(char ch) {
    return ch == ‘P‘ || ch == ‘p‘;
}

SpringBoot 中使用计划任务

标签:ring   使用   length   ann   sed   ram   简单   except   意义   

原文地址:https://www.cnblogs.com/StarUDream/p/9045545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!