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.效果

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM