SpringTask任務排程

2021-10-02 16:54:53 字數 2135 閱讀 6185

spring task測試 和 序列任務

並行任務

cron表示式

springtask測試類

執行序列任務

執行並行任務

秒(0~59) 分鐘(0~59) 小時(0~23) 月中的天(1~31) 月(1~12) 週中的天 (填寫mon,tue,wed,thu,fri,sat,sun,或數字1~7 1表示mon,依次類推)
「/」字元表示指定數值的增量

「*」字元表示所有可能的值

「-」字元表示區間範圍

「,」 字元表示列舉

「?」字元僅被用於月中的天和週中的天兩個子表示式,表示不指定值

0/3 * * * * * 每隔3秒執行

0 0/5 * * * * 每隔5分鐘執行

0 0 0 * * * 表示每天0點執行

0 0 12 ? * wen 每週三12點執行

0 15 10 ? * mon-fri 每月的周一到周五10點 15分執行

0 15 10 ? * mon,fri 每月的周一和周五10點 15分執行

兩個任務之間有關聯的時候使用序列任務

在spring boot啟動類上新增註解:@enablescheduling

@component

public

class

choosecoursetask}}

//定義任務除錯策略

// @scheduled(cron="0/3 * * * * *")//每隔3秒去執行

// @scheduled(fixedrate = 3000) //在任務開始後3秒執行下一次排程

// @scheduled(fixeddelay = 3000) //在任務結束後3秒後才開始執行

public

void

task1()

catch

(interruptedexception e)

logger.

info

("***************測試定時任務1結束***************");

}//定義任務除錯策略

// @scheduled(cron="0/3 * * * * *")//每隔3秒去執行

// @scheduled(fixedrate = 3000) //在任務開始後3秒執行下一次排程

// @scheduled(fixeddelay = 3000) //在任務結束後3秒後才開始執行

public

void

task2()

catch

(interruptedexception e)

logger.

info

("***************測試定時任務2結束***************");

}}

當兩個任務之間沒有相關聯的時候,使用並行任務

建立非同步任務配置類,需要配置執行緒池實現多執行緒排程任務。

/**

* @author administrator

* @version 1.0

**/@configuration

@enablescheduling

public

class

asynctaskconfig

implements

schedulingconfigurer

, asyncconfigurer

@override

public executor getasyncexecutor()

@override

public asyncuncaughtexceptionhandler getasyncuncaughtexceptionhandler()

@override

public

void

configuretasks

(scheduledtaskregistrar scheduledtaskregistrar)

}

將@enablescheduling新增到此配置類上,springboot啟動類上不用再新增@enablescheduling

任務排程SpringTask

在企業級應用中,經常會制定一些 計畫任務 即在某個時間點做某件事情,核心是以時間為關注點,即在乙個特定的時間點,系統執行指定的乙個操作。常見的任務排程框架有quartz和springtask等。配置spring.xml 新增task註解驅動 xmlns xmlns xsi xmlns p xmlns...

SpringTask 任務排程

面試 你懂什麼是分布式系統嗎?redis分布式鎖都不會?實現定時任務的方案如下 1 使用jdk的timer和timertask實現 可以實現簡單的間隔執行任務,無法實現按日曆去排程執行任務。2 使用quartz實現 quartz 是乙個非同步任務排程框架,功能豐富,可以實現按日曆排程。3 使用spr...

SpringTask任務排程基於註解

企業級應用中,經常會制定一些 計畫任務 即在某個時間點做某件事情,核心是以時間為關注點,即在乙個特定的時間點,系統執行指定的乙個操作。電商專案中運用也比較廣泛,比如對一些秒殺商品的定時清理,從一定程度上減少了快取以及資料庫的壓力.常見的任務排程框架有quartz和springtask等。xmlns ...