美文网首页
spring boot定时任务(Scheduled Tasks)

spring boot定时任务(Scheduled Tasks)

作者: fangzy0723 | 来源:发表于2017-09-29 21:29 被阅读0次

    spring boot中使用定时:

    方式1:

    新建一个java类,添加注解@Configuration@EnableScheduling,开启调度任务。在类中新建一个定时的方法添加注解@Scheduled ,表明该方法是一个调度任务。cron表达式配置定时执行的规则

    实例:

    @Configuration

    @EnableScheduling

    public classSpringBootScheduledController {

    /**

    *每20秒执行一次

    */

    @Scheduled(cron="0/20 * * * * ?")

    public voidmethodScheduling(){

    System.out.println("methodScheduling定时任务启动了");

    }

    }

    方式2:

    在启动类上添加注解@EnableScheduling,开启调度任务。创建一个任务类添加注解@Component,类中方法添加注解@Scheduled,表明该方法是一个调度任务。

    示例:

    启动类

    @SpringBootApplication

    @EnableScheduling

    public classSpringBootRestApplication {

    public static voidmain(String[] args) {

    SpringApplication.run(SpringBootRestApplication.class,args);

    }

    }

    任务类

    @Component

    public classSpringBootScheduledController {

    /**

    *每20秒执行一次

    */

    @Scheduled(cron="0/20 * * * * ?")

    public voidmethodScheduling(){

    System.out.println("methodScheduling定时任务启动了");

    }

    }

    说明:

    @Scheduled(cron="0/10 * * * * ?")//通过cron表达式定义执行规则, 每隔十秒执行1次

    @Scheduled(fixedRate=1000)//上次开始执行时间点之后1秒再执行

    @Scheduled(fixedDelay=1000)//上次执行完毕时间点之后1秒再执行

    @Scheduled(initialDelay=1000,fixedRate=1000)//第一次延迟1秒后执行,之后按fixedRate的规则每1秒执行1次

    相关文章

      网友评论

          本文标题:spring boot定时任务(Scheduled Tasks)

          本文链接:https://www.haomeiwen.com/subject/dyjwextx.html