Spring Quartz使用及配置

2021-08-31 03:19:08 字數 761 閱讀 6245

quartz是乙個開源的定時任務框架,在一些日常的任務中,我們經常有一些這樣的需要,比如我們需要隔多少分鐘去掃瞄或者檢查一下某些檔案,或者在指定的時間點內去處理一些檔案。這些定時的任務更多的是一種批處理任務。在一些常用的實現裡我們會使用shell指令碼來完成這份工作。使用shell指令碼來完成的這些任務相對來說是特定於某個任務的,不具備通用性,而且根據問題性質的複雜程度,有時候我們需要提高定時任務的可靠性和效能,這個時候單純的用一些指令碼來處理就顯得非常困難和複雜了 。於是quartz這個框架就能幫我們不少忙。

jobdetail定義:

用名為porces***cutertrigger的trigger來驅動排程jobdetail,由於定義的是crontrigger,因此通過設定cronexpression來設定jobdetail的執行時間,如下是jobdetail的配置:

trigger定義:

scheduler定義:

要讓這些定義好的job能夠跑起來,我們還需要有乙個scheduler,在spring裡,這些也是準備好了的。針對前面的jobdetail和trigger,它的典型配置如下:

···

···

乙個任務排程的示例。它的主要步驟為1.定義job 2. 定義trigger 3. 定義scheduler來拼接。

參考:

初次使用Spring quartz

最近由於公司人力資源部門的需要,由於公司每天的 太多,想做乙個定時的自動歸檔報表的功能,在我領導金導的幫助下,基本是實現了功能。下面是我自己總結的步驟 1 建立乙個spring task.xml 名字隨便 的xml檔案,配置如下 2 編寫autorunarchivedayserviceimpl類 這...

spring quartz 多次呼叫

早上測試程式的時候,發現專案下的定時任務quartz同一時刻有乙個任務執行了兩次,但是我清楚地記得原來是沒有問題,很是懊惱。第一步 檢查配置檔案,檔案內有配置concurrent為false,理論上來講應該可以防止job同時執行兩次的問題。work false 0 0 2 第二步 既然不是quart...

Spring Quartz定時排程

一 所需的jar包 二 定時排程的配置和使用 配置 quartz 2 建立任務類 public class quartztest 當專案啟動時,每兩分鐘 從每小時的0分0秒開始,隔兩分鐘再去執行一次,到每個小時的59分為止 就會去執行quartztest 類中在配置檔案指定的execute方法。三 ...