配置java輕量級定時器及其邏輯

2021-07-27 18:18:25 字數 1780 閱讀 2105

一、在spring-cloud(spring-boot)中:

使用spring的定時器,spring自帶支援定時器的任務實現。其可通過簡單配置來使用到簡單的定時任務。

@component

@configurable

@enablescheduling

public class scheduledsitemapcontroller

private ******dateformat dateformat()}

使用spring的定時任務就這麼簡單,其中有幾個比較重要的註解:

@enablescheduling:標註啟動定時任務。

@scheduled(fixedrate = 1000 * 30)  定義某個定時任務。

二、在springmvc架構中:

在beans檔案中分別加入 :

xmlns:task=""

/spring-task.xsd ">

配置定時類檔案:  

注釋:cron="0/10 * * * * ?"/>  邏輯

三、域中符號解釋:

分別代表意思:* * * * * * 代表秒、分、時、天、月、星期

在jenkins中:* * * * * 代表的是分、時、天、月、星期。

一:1.     * :表示匹配任意值。比如在seconds域中配置為*,則表示每秒執行。(可用於任意域)

2.     ?:只能用在 dayofmonth和dayofweek,表示匹配該域的任意值。

3.     -:表示範圍。例如:在seconds域中配置2-10,則表示從2到10秒內,每秒執行。

4.     /:表示從起始開始觸發,然後每個固定時間執行一次。比如在seconds域中配置5/20,則表示在第5秒開始執行,然後每過20秒執行一次(以每一分鐘為週期)。

5.     ,:表示列舉值。例如在seconds域中配置5,20,25,則表示在第5秒、20秒和25秒執行。

6.     l:只能用在 dayofmonth和dayofweek,表示每週或者每月的最後一天。如果dayofweek域配置5l則表示最後乙個星期的周四執行。

二:"0 0 */2 * * ?" 與"0 0 0/2 * * ?" 都為每兩小時執行一次,區別為,前者從任意時間開始的兩小時,後者為從一天的0點開始後每兩小時。

三:cron 常用表示式

"0 * * * * ?" 

每分鐘執行一次

"0 0/5 * * * ?" 

每隔5分鐘執行一次

"0 0/15 * * * ?" 

每隔15分鐘執行一次

"0 0 * * * ?" />

每隔1小時執行一次

"0 0 */2 * * ?" 

每隔2小時執行一次

"0 0 0,12 * * ?" />

每天0點和12點各執行一次

"0 0 8 * * ?" 

每天早上8點執行一次

"0 0 2 ? * fri" />

逢星期五零晨2點執行一次

"0 0 2 ? * mon-fri" 

星期一到星期五零晨2點執行一次

"0 0 2 1 * ?" />

每月1號零晨2點執行一次

"0 0 2 l * ?" 

每月最後一天零晨2點執行一次

"0 0 12 * * ?" 

每天中午12點執行一次

"0 15 10 ? * *" 

每天上午10點15執行一次

定時器及其清除

倒計時定時器 迴圈定時器 及定時器的清除 1 body 2 div 3 input type button onclick yi value 啟動倒計時定時器 4 input type button onclick er value 啟動迴圈定時器 5 input type button oncli...

PWM定時器及其蜂鳴器

arm體系結構 pwm定時器及其蜂鳴器 1 一般soc中產生pwm訊號都是靠定時器模組產生的。也就是說soc有個定時器專門生產pwm訊號的。2 pwm pulse wide modulation 脈寬調變 也就是這是一種訊號,這個訊號有特定的波形。3 pwm波形是乙個週期性波形,週期為t,在每個週期...

java中定時器

void cancel 終止此計時器,丟棄所有當前已安排的任務。int purge 從此計時器的任務佇列中移除所有已取消的任務。void schedule timertask task,date time 安排在指定的時間執行指定的任務。void schedule timertask task,da...