zoukankan      html  css  js  c++  java
  • hutool定时任务

    介绍

        CronUtil通过一个全局的定时任务配置文件,实现统一的定时任务调度。

    使用

    1、配置文件

                1.1 pom文件

         <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>4.1.0</version>
            </dependency>

    1.2

        对于Maven项目,首先在src/main/resources/下创建config包,在包中放入cron.setting文件(默认是这个路径的这个文件),

    然后在文件中放入定时规则,规则如下:

    # 我是注释
    #执行的类或对象方法所在包的名字
    [com.web.kds.hadoop_kafka.TimingTask]
    #需要执行的类名和方法名
    cron.test1 =* */1 * * * 
    cron.test2 =* */1 * * * 
    
    #执行的类或对象方法所在包的名字
    [com.web.kds.hadoop_kafka.image]
    #需要执行的类名和方法名
    WaterMarkUtils.test3 =* */1 * * * 

        

    [com.web.kds.hadoop_kafka.TimingTask]:

          中括号表示分组,也表示需要执行的类或对象方法所在包的路径名字,这种写法有利于区分不同业务的定时任务。

    cron.test1 

       表示需要执行的类名和方法名(通过反射调用),* */1 * * * 表示定时任务表达式,此处表示每1分钟执行一次,以上配置等同于:

        com.web.kds.hadoop_kafka.TimingTask.cron.test1 =* */1 * * *

        com.web.kds.hadoop_kafka.TimingTask.cron.test2 =* */1 * * *

          com.web.kds.hadoop_kafka.image.WaterMarkUtils.test3 =* */1 * * * 

    2.测试代码

     

    3.启动/关闭

    
    
    CronUtil.start();//启动
    CronUtil.stop();//关闭


    考虑到Quartz表达式的兼容性,且存在对于秒级别精度匹配的需求,Hutool可以通过设置使用秒匹配模式来兼容。

    //支持秒级别定时任务
    CronUtil.setMatchSecond(true);

    此时Hutool可以兼容Quartz表达式(5位表达式、6位表达式都兼容/6位精确到秒)

    3.效果

     
  • 相关阅读:
    程序员有哪些发展方向
    Mysql Join语法解析与性能分析
    jQuery过滤性选择器
    jQuery 基础选择器
    CSS布局模型
    CSS 盒子模型
    CSS 的继承、层叠和特殊性
    java 集合框架(一)
    从客户端中检测到有潜在危险的 Request.Form 值
    线程的一些问题
  • 原文地址:https://www.cnblogs.com/KdeS/p/11934151.html
Copyright © 2011-2022 走看看