最近專案中用到了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...