zoukankan      html  css  js  c++  java
  • spring boot(十):定时任务

      springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现。

    1、pom包配置

    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    2、启动类启用定时

      在启动类上面加上@EnableScheduling即可开启定时

    3、创建定时任务实现类

     定时任务1:

    @Component
    public class SchedulerTask {
    
        private int count=0;
    
        @Scheduled(cron="*/6 * * * * ?")
        private void process(){
            System.out.println("this is scheduler task runing  "+(count++));
        }
    
    }

    定时任务2:

    @Component
    public class Scheduler2Task {
    
        private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    
        @Scheduled(fixedRate = 6000)
        public void reportCurrentTime() {
            System.out.println("现在时间:" + dateFormat.format(new Date()));
        }
    
    }

    测试

    private int count=0;
        @RequestMapping("/Scheduled")
        @Scheduled(cron="*/6 * * * * ?")
        public void process(){
            System.out.println("this is scheduler task runing  "+(count++));
        }

    参数说明

    @Scheduled 参数可以接受两种定时的设置,一种是我们常用的cron="*/6 * * * * ?",一种是 fixedRate = 6000,两种都表示每隔六秒打印一下内容。

    fixedRate 说明

    • @Scheduled(fixedRate = 6000) :上一次开始执行时间点之后6秒再执行
    • @Scheduled(fixedDelay = 6000) :上一次执行完毕时间点之后6秒再执行
    • @Scheduled(initialDelay=1000, fixedRate=6000) :第一次延迟1秒后执行,之后按fixedRate的规则每6秒执行一次
  • 相关阅读:
    ThinkPHP中PHPExcel的使用(包含日期格式)
    python学习一
    autocomplete 在火狐中文输入的问题
    NPM WARN 错误分析汇总
    react+reatrouter+redux学习笔记
    a++与++a的区别
    ES6箭头函数(Arrow Functions)
    document.referrer
    modem无法编译
    linux时钟浅析 转载
  • 原文地址:https://www.cnblogs.com/cnki/p/9388915.html
Copyright © 2011-2022 走看看