zoukankan      html  css  js  c++  java
  • 第二十一章 springboot + 定时任务

    1、application.properties

    #cron
    job.everysecond.cron=0/1 * * * * *
    job.everytensecond.cron=0/10 * * * * *
    
    job.everyminute.cron=0 0/1 * * * *
    job.everysecond2.cron=* 0/1 * * * *

    注意:cron表达式

    • 第一个:每秒
    • 第二个:每10秒
    • 第三个:每分
    • 第四个:每秒(注意这个不是每分

    2、CronJobTest.java

     1 package com.xxx.secondboot.cron;
     2 
     3 import java.util.Date;
     4 
     5 import org.apache.commons.lang3.time.DateFormatUtils;
     6 import org.springframework.context.annotation.Configuration;
     7 import org.springframework.scheduling.annotation.Scheduled;
     8 import org.springframework.stereotype.Component;
     9 
    10 /**
    11  * cron测试
    12  */
    13 //@Configuration
    14 @Component
    15 public class CronJobTest {
    16 
    17     int i = 0;
    18 
    19     @Scheduled(cron = "${job.everysecond.cron}")
    20     public void everySecond() {
    21         System.out.println("第" + (++i) + "次调用,每秒任务,当前时间:" + nowTime());
    22     }
    23     
    24     private String nowTime() {
    25         return DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
    26     }
    27 }

    3、Application.java(启动类)

    此时,启动boot,你会发现,定时任务并不会执行,还需添加一个注解。如下:

     1 package com.xxx.secondboot;
     2 
     3 import org.springframework.boot.SpringApplication;
     4 import org.springframework.boot.autoconfigure.SpringBootApplication;
     5 import org.springframework.scheduling.annotation.EnableScheduling;
     6 
     7 import springfox.documentation.swagger2.annotations.EnableSwagger2;
     8 
     9 @SpringBootApplication
    10 @EnableSwagger2
    11 @EnableScheduling
    12 public class Application {
    13     public static void main(String[] args) {
    14         SpringApplication.run(Application.class, args);
    15     }
    16 }

    注意:一定要在启动类上添加@EnableScheduling来启动定时任务,否则定时任务不会起作用!!!

    测试:

    启动服务,查看console的输出!!!

  • 相关阅读:
    汇编指令:ldr和str,ldm和stm的区别
    面向对象(成员(变量,方法,属性)组合并嵌套)
    面向对象三大特性编写面向对象程序,self到底是谁
    内置函数二. 递归 二分法
    内置函数
    生成器;三元表达式, 推导式
    函数名的应用,闭包,迭代器
    函数的进阶
    闭包,迭代器
    函数
  • 原文地址:https://www.cnblogs.com/java-zhao/p/5689592.html
Copyright © 2011-2022 走看看