續spring中使用quartz(一)
注意:crontriggerbean的cronexpression屬性指定格式:至少6個時間元素,上面表示每天的15:37-38分執行1次任務。
時間元素(按照順序):
秒(0-59):
分(0-59):
小時(0-23):
每月第幾天(1-31):
月(1-12或jan-dec):
每星期第幾天(1-7或sun-sat):
年(1970-2099):
其中:不用設定的用」?」.
(1)每月第幾天和每星期第幾天是互斥的,兩個只能設定1個。如果有好幾個時間點,可以使用」,」符號,例如:」0 0 10,12,14 * * ?」表示每天的10時,12時,14時執行job.
(2)對於連續時間可以使用」-」符號。例如:」0 10,12,14 1-15 * ?」表示每月的1到15日10時,12時,14時執行job.
(3)時間格式的年可以不用制定。例如」0 0 10,12,14 ? mon 2006」表示2006年每星期一的10時,12時,14時執行job.
使用spring
不一定需要繼承quartzjobbean
類來定義1
個job
類,可以使用methodinvokingjobdetailfactorybean
來直接指定執行某個物件的方法。
修改如下:
1
:建立job
類(普通類)
packageonlyfun.bb.quartz;
/**使用methodinvokingjobdetailfactorybean類制定任務:
*1個job類:沒有繼承quartzjobbean *
@author
administrator *
*/publicclassquartzdemo2
publicjobdata getjobdata()
publicvoidsetjobdata(jobdata jobdata) }
2: 修改配置
<
bean id=
"somedata"
class
="onlyfun.bb.quartz.jobdata"
>
bean
>
class="org.springframework.scheduling.quartz.methodinvokingjobdetailfactorybean">
<
bean id=
"crontriggerbean"
class
="org.springframework.scheduling.quartz.crontriggerbean"
>
<
property
name
="jobdetail"
ref=
"jobdetailbean"
>
property
>
<
property
name
="cronexpression"
value
="0 6 16 * * ?"
/>
bean
>
<
bean id=
"scheduledfactorybean"
class
="org.springframework.scheduling.quartz.schedule***ctorybean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
bean
="crontriggerbean"
/>
list
>
property
>
bean
>
此處配置主要修改了粗體部分。對作為1個job的類進行了定義。而方法a不需要定義。
測試方法與上面一樣。
在spring中使用quartz
好吧!我承認我對quartz並不熟悉,這種境況需要通過學習它,使用它去改變。先記錄下最進在spring中使用quartz的經驗。spring中提供了對quartz的支援,使得在spring使用quartz變得很容易,只需要在配置檔案中進行配置就行了。當然在路徑中要加入相應的jar包,我用的是quar...
Spring中使用Quartz 一
quartz使用 開發環境 spring2.0。如果包類沒有quartz包,則需要加入到類路徑。a extends quartzjobbean方法 建立乙個job packageonlyfun.bb.quartz importorg.quartz.jobexecutioncontext import...
在Spring中使用Quartz進行任務排程 1
概述 各種企業應用幾乎都會碰到任務排程的需求,就拿論壇來說 每隔半個小時生成精華文章的rss檔案,每天凌晨統計論壇使用者的積分排名,每隔30分鐘執行鎖定使用者解鎖任務。對於乙個典型的mis系統來說,在每月1號凌晨統計上個月各部門的業務資料生成月報表,每半個小時查詢使用者是否已經有快到期的待處理業務 ...