• SpringTask


    一、定时任务解决方案

        1.快速入门

           1)添加命名空间和约束     

     xmlns:task="http://www.springframework.org/schema/task"
    
    http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd

           2)在applicationContext.xml中添加配置      

    <task:annotation-driven></task:annotation-driven>

           3)编写案例,每秒输出当前时间 

    @Component
    public class TestController {
    
        @Scheduled(cron = "* * * * * ?")
        public void testTimeOutLogic(){
            System.out.println(new Date());
        }
    }

    二、Cron表达式

         1. Cron表达式是一个字符串,字符串以5个空格隔开,分6个工作区域,格式:

               Seconds  Minutes  Hours  DayofMonth  Month  DayofWeek 

          2.详解

              Seconds  :可出现  -  ,  *  /  四个字符,有效范围0-59的整数 (秒);

              Minutes  :可出现  -  ,  *  /  四个字符,有效范围0-59的整数(分);

              Hours  :可出现  -  ,  *  /  四个字符,有效范围0-23的整数(小时);

              DayofMonth  :可出现  -  ,  *  /  ?L W C八个字符,有效范围0-31的整数(每月中的某一天);

              Month  :可出现  -  ,  *  /  四个字符,有效范围1-12的整数(月);

              DayofWeek :可出现  -  ,  *  /  ? L C 七个字符,有效范围1-7的整数(每星期的某一天);

          3.字符的含义

              1)* : 表示匹配该域的任何值,如在Minutes域使用*,表示每分钟都会触发事件;

              2)? :只能用于DayofMonth和DayofWeek两个域,在那个域使用表示这个域不能使用;

              3)- :表示范围,如在Minutes域使用 5-20,表示在一小时内从5 -20 这个时间段内每分钟执行一次

              4)a/b :表示起始时间a开始,每个时间b触发一次,如在Minutes域使用 5/20,表示在一小时内从5分钟开始,每隔20分钟执行一次

             

  • 相关阅读:
    关于SimpleDateFormat安全的时间格式化线程安全问题
    JAVA多线程和并发基础面试问答
    探秘Java中的String、StringBuilder以及StringBuffer
    Java开发岗位面试题归类
    Java并发编程:阻塞队列
    Shell基本概述
    Ansible--06 ansible roles
    Ansible --05 ansible jinja2
    Ansible--04 ansible 流程控制
    Ansible--03 ansible 变量
  • 原文地址:https://www.cnblogs.com/cqyp/p/12904128.html
Copyright © 2020-2023  润新知