• 第十二章:(1)Spring Boot 与 任务 之 定时任务


    一、定时任务

       项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息。 Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor TaskScheduler 接口。

      两个注解:

    @EnableScheduling  开启基于注解的定时任务
    @Scheduled             定义定时任务方法
    

      

    二、示例

      在配置上开启基于注解的定时任务:

    @EnableScheduling //开启基于注解的定时任务
    @SpringBootApplication
    public class SpringBoot12TaskApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBoot12TaskApplication.class, args);
        }
    
    }

      定义定时任务方法:

    @Service
    public class ScheduledService {
    
    
        /**
         * second(秒), minute(分), hour(时), day of month(日), month(月),and day of week.(周几)
         *  【* * * * * MON-FRI】
         *
         *  【0 0/5 14,18 * * ?】 每天14点和18点整,每隔5分钟执行一次
         *  【0 15 10 ? * 1-6】   每个月的周一至周六10:15执行一次
         *  【0 0 2 ? * 6l】      每个月的最后一个周六凌晨2点执行一次
         *  【0 0 2 LW * ?】      每个月的最后一个工作日凌晨2点执行一次
         *  【0 0 2-4 ? * 1#1】   每个月的第一个周一凌晨2点到4点期间,每个整点都执行一次
         *
         */
        @Scheduled(cron = "* * * * * MON-FRI")
        //@Scheduled(cron = "0,1,2,3,4 * * * * MON-FRI")
        //@Scheduled(cron = "0-4 * * * * MON-FRI")
        //@Scheduled(cron = "0/4 * * * * MON-FRI") //每4秒执行一次
        public void hello() {
            System.out.println("Hello ...");
        }
    }

      

    三、Crond 表达式

      关于 Crond 表达式:

      

       

      Crond表达式:

      

      更多:https://www.cnblogs.com/yanghj010/p/10875151.html

     
  • 相关阅读:
    对Promise的理解?
    对JavaScript垃圾回收机制的理解?
    说明split()与join()函数的区别?
    目标检测评估标准
    训练自己的数据集
    ssd_mobilenet_demo
    c++读取数据
    0XFF
    python读取数据
    快速排序
  • 原文地址:https://www.cnblogs.com/niujifei/p/15763741.html
Copyright © 2020-2023  润新知