SpringQuartz Task之間的對比

2021-09-24 19:07:48 字數 834 閱讀 6827

預設多執行緒非同步執行

單個任務時,在上乙個排程未完成時,下乙個排程時間到時,會另起乙個執行緒開始新的排程。業務繁忙時,乙個任務會有多個排程,可能導致資料處理異常。

多個任務時,任務之間沒有直接影響,多工執行的快慢取決於cpu的效能

觸發方式

******trigger:value=2000 每隔兩秒觸發

crontrigger:value=」0 0 12 * * ?」 每天中午12點觸發

需要在配置檔案中實現配置job

能被集群例項化,支援分布式部署

使用jobstorecmt(jdbcjobstore的子類),quartz 能參與jta事務;quartz 能管理jta事務(開始和提交)在執行任務之間,這樣,任務做的事就可以發生在jta事務裡。

預設單執行緒同步執行

單個任務時,當前次的排程完成後,再執行下一次任務排程

多個任務時,乙個任務執行完成後才會執行下乙個任務。若需要任務能夠併發執行,需手動設定執行緒池

觸發方式:

與quartz的crontrigger的表示式類似

可以使用註解標註定時任務

實現,task註解實現方式,比較簡單。quartz需要手動配置jobs。

任務執行,task預設單執行緒序列執行任務,多工時若某個任務執行時間過長,後續任務會無法及時執行。quartz採用多執行緒,無這個問題。

排程,task採用順序執行,若當前排程占用時間過長,下乙個排程無法及時執行;

quartz採用非同步,下乙個排程時間到達時,會另乙個執行緒執行排程,不會發生阻塞問題,但排程過多時可能導致資料處理異常

部署,quartz可以採用集群方式,分布式部署到多台機器,分配執行定時任務

spring Quartz Task之間的對比

預設多執行緒非同步執行 多個任務時,任務之間沒有直接影響,多工執行的快慢取決於cpu的效能 觸發方式 需要在配置檔案中實現配置job 能被集群例項化,支援分布式部署 使用jobstorecmt jdbcjobstore的子類 quartz 能參與jta事務 quartz 能管理jta事務 開始和提交...

8 2 4物件之間的關係

繼承是物件之間的一種簡單關係,可以讓派生類完整地獲得基類的特性,而派生類也可以訪問基類內部的一些工作 通過protected成員 物件之間還有其他一些比較重要的關係。本節簡要討論下述關係 包含關係 乙個類包含另乙個類。這類似於繼承關係,但包含類可以控制 對被包含類的成員的訪問,甚至在使用被包含類的成...

多表設計之間的關係 一對一,一對多,多對多

5 多表設計之間的關係 一對多的關係 例如 乙個部門對多個員工,乙個員工只能屬於乙個部門 多對多的關係 例如 學生選課,乙個學生可以選多門課程,一門可能可以被多個學生選擇 一對一的關係 例如 乙個人只能有乙個身份證,乙個身份證只能有乙個人 6 表與表一對多的關係 在一對多時 多的表中新增乙個外來鍵,...