Spring整合Quartz任務排程

2021-09-30 12:12:45 字數 1590 閱讀 5680

最近專案中用到了quartz任務排程來實現定時任務的功能,遂做小結,以便學習交流之用。quartz是乙個開源的作業排程框架,可以用它來建立簡單或者多個複雜的任務,並讓這些任務按計畫執行。我所做的專案是使用了spring中整合的quartz外掛程式,首先說明一下需求背景,這裡要實現的乙個功能是定時將滿足條件的商鋪推薦給使用者。

整體思路是這樣子的,首先編寫好需要做定時任務的業務邏輯方法;緊接著做quartz任務排程的配置,包括執行緒池,業務邏輯bean,新增要定時任務的方法,排程觸發器,新增任務排程;

1、編寫需要做定時任務的業務方法

public class shoprecommendjob  catch (exception e) 

}}

2、quartz任務排程的配置(主要是spring的配置,因為這裡使用的是spring整合quartz)

(1)執行緒池配置

這裡使用的是spring-context-3.1.1.release.jar包下的org.springframework.scheduling.concurrent.threadpooltaskexecutor類,其中,配置threadpooltaskexecutor類幾個屬性的含義分別是:

corepoolsize:執行緒池維護執行緒的最少數量

maxpoolsize:執行緒池維護執行緒的最大數量

queuecapacity:執行緒池所使用的緩衝佇列

(2)定義包含需要定時任務的業務邏輯方法bean

這個類裡面有你定義的需要做定時任務的邏輯方法(即包含shoprecommendjobmethod()方法的類shoprecommendjob )。

(3)新增要定時任務的方法

shoprecommendjobmethod

methodinvokingjobdetailfactorybean類是在spring-context-support-3.1.1.release.jar包中org.springframework.scheduling.quartz路徑下。

(4)配置觸發器

0 30 1 * * ?

觸發器bean,crontriggerbean是引用於spring-context-support-3.1.1.release.jar包中的org.springframework.scheduling.quartz路徑下。另外,關於定時任務的表示式,這裡沒有整理總結,網上有很多。

(5)新增任務排程

任務排程工廠bean,schedule***ctorybean是在spring-context-support-3.1.1.release.jar包中的org.springframework.scheduling.quartz路徑下。

至此,任務排程的配置完成。當然,如果你的這些配置時單獨寫在乙個xml檔案中,別忘了將這個spring配置檔案引入總的spring檔案中,並在web.xml配置***,將spring總的配置檔案配置進去。

Spring整合使用quartz

spring已經整合了quartz,在spring中使用quartz的一般步驟為 1.實現任務類 public class productadschedulemanagerimpl 2.在spring xml 配置檔案中配置任務類bean 3.在spring xml 配置檔案中配置methodinv...

Spring框架整合Quartz

首先編寫任務類,該類繼承quartzjobbean父類,並在其實現方法內編寫job任務 配置spring的xml檔案,配置觸發器,以及排程器的bean jobdetail class org.springframework.scheduling.quartz.jobdetailbean name j...

spring整合quartz任務排程

quartz core org.quartz scheduler groupid quartz artifactid 1.8.6 version dependency quartz uses slf4j,so we need an actual logger ch.qos.logback group...