#SpringBoot# SpringBoot整合定時任務和異步任務處理

SpringBoot定時任務schedule

什麼是定時任務和常見定時任務區別

1、常見定時任務 Java自帶的java.util.Timer類
	timer:配置比較麻煩,時間延後問題
	timertask:不推薦
2、Quartz框架
	配置更簡單
	xml或者註解
3、SpringBoot使用註解方式開啓定時任務
	1)啓動類裏面 @EnableScheduling開啓定時任務,自動掃描
	2)定時任務業務類 加註解 @Component被容器掃描
	3)定時執行的方法加上註解 @Scheduled(fixedRate=2000) 定期執行一次

SpringBoot常用定時任務配置

SpringBoot常用定時任務表達式配置和在線生成器

1、cron 定時任務表達式 @Scheduled(cron="*/1 * * * * *") 表示每秒
		1)crontab 工具  https://tool.lu/crontab/
	2、fixedRate: 定時多久執行一次(上一次開始執行時間點後xx秒再次執行;)
	3、fixedDelay: 上一次執行結束時間點後xx秒再次執行
	4、fixedDelayString:  字符串形式,可以通過配置文件指定

SpringBoot2.x異步任務實戰(核心知識)

什麼是異步任務,和使用SpringBoot2.x開發異步任務

1、什麼是異步任務和使用場景:適用於處理log、發送郵件、短信……等
			下單接口->查庫存 100
					餘額校驗 150
					風控用戶100
					....
	2、啓動類裏面使用@EnableAsync註解開啓功能,自動掃描
	
	3、定義異步任務類並使用@Component標記組件被容器掃描,異步方法加上@Async
		注意點:
			1)要把異步任務封裝到類裏面,不能直接寫到Controller
			2)增加Future<String> 返回結果 AsyncResult<String>("task執行完成");  
			3)如果需要拿到結果 需要判斷全部的 task.isDone()
	4、通過注入方式,注入到controller裏面,如果測試前後區別則改爲同步則把Async註釋掉

在這裏插入圖片描述
公衆號: 自學it的攻城獅(id:study458)

發佈了59 篇原創文章 · 獲贊 4 · 訪問量 5115
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章