使用Quartz做定時器

原文鏈接
http://www.open4j.com/blogview.asp?logID=8
作者:LAODAO

1、到http://www.opensymphony.com/quartz/

下載穩定的版本(我用的是1.4.5版)。
2、解壓至任何目錄,目錄中有簡單的教程、例題、核心包及輔助包,請檢查你的目錄。
3、開始創建任務,一個任務類需實現org.quartz.Job接口;在任務類中定義任務調用方法public void execute(JobExecutionContext context) throws JobExecutionException {},主要代碼就在execute方法中寫。
4、寫好任務後,開始定義任務描述文件,可結合http://www.quartzscheduler.org/ns/ ...eduling_data_1_1.xsd和自帶例題進行定義(examples/jobs.xml),建議最好從examples/jobs.xml進行更改;注意任務需要被激活,故一個成功配置的任務會包含任務描述和觸發描述,請參考相關文件。
5、Quartz在容器下是通Servlet的初始化進行啓動的,故需要在你的web部署描述文件(即web.xml)中進行定義,在web.xml中加入:
[code]
<servlet>
<servlet-name>QuartzInitializer</servlet-name>
<display-name>Quartz Initializer Servlet</display-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> 
[/code]
6、Quartz引擎的需要初始化,它一般通過一個名爲quartz.properties的屬性文件進行參數定義;文件的具體定義方法在文件裏有詳細說明。建議從docs\config\example_quartz.properties文件進行更改;要注意是文件中對於任務數據持久化那段的設置,我使用的是基於RAM的存儲方式。
7、基本上大功告成,將quartz.properties和jobs.xml複製到WEB-INF/classes目錄下;將quartz.jar及其他輔助jar(都在解壓文件夾的lib目錄下,如果你的容器環境中已包含這些庫就無需再增加)到WEB-INF/lib下。
8、啓動容器,按照你設定的計劃觀察是否運行正確。

【備註】
<A target=_blank href="/uploads/attatch/85wa_QuartzDemo.rar">附件</A>

注:Quartz是一個良好的企業級計劃框架,非常靈活和強大,但其文檔實在缺泛,請使用者注意收集相關文檔,特別是其時間點火表達式
發佈了37 篇原創文章 · 獲贊 35 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章