posts - 108,comments - 56,trackbacks - 0
                ☆Quartz可以通過XML來配置定時服務,簡單筆記如下:

                ☆定義一個處理業務邏輯的Class[繼承Job],例如
          DeleteFileJob


                ☆配置Job[在conf目錄下新建jobs.xml][每兩秒執行一次DeleteFileJob]
          conf/jobs.xml


                ☆配置Quartz[在conf目錄下新建quartz.properties]
               [簡單說明:線程數量=一個(org.quartz.threadPool.threadCount=1),
                        線程優先級=普通(org.quartz.threadPool.threadPriority=5),
                        使用JobInitializationPlugin插件(org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin),
                        Job的配置文件(org.quartz.plugin.jobInitializer.fileNames= conf/jobs.xml)]
          conf/quartz.properties


                ☆啟動Quartz[新建一個Class,在Main中寫入下列代碼][執行可以看結果]
          main函數


                ☆配置中cron-expression說明[網摘]
            同樣的,像SimpleTrigger一樣,CroTrigger有一個startTime(啟始時間)來記載下線程開始啟動的時間,和endTime(結束時間)<非必須設定>來記載線程不繼續執行的時間點。

            Cron
          -Expressions是用來設定CronTrigger的實例,而Cron-Expressions一串字符串的表達式,而實際上是由七個sub-expressions(子式)所組成,來描述線程的個別細節部分。而這些sub-expression(子式)是用空白來區隔,并呈現順序和意思如下:

              
          "秒(Seconds) 分(Minutes) 小時(Hours) 天(Day-of-Month) 月份(Month) 星期(Day-of-Week) 年(Year)<非必須描述>" 
            舉例來說,一個完整的cron
          -expression字符串"0 0 12 ? * WED"的意思是"每個星期三的中午十二點"
            個別的sub
          -expression可以包含了范圍和/或列舉的方式描述,如上行舉例的星期這個字段("WED"),我們可以置換為"FRI""MON,WED,FRI"、甚至于"MON-WED,SAT"來表示。

            星號(就是
          *這個)就是在那個字段是任意值的意思,以先前的為例,在月份這欄用星號表示每一個月份的意思阿,而如果把星號放到星期這欄,就表示這星期的每一天。

            每一個字段都有一組數值來明確的說明,而這些數值就要正確的使用,如秒和分的字段就是數字0到59、時的字段就是數字0到23,日期可以0到31之間的任何數字,但必須注意的是你所選的月份有幾天阿。月份的可以指定0到11的數值,也可以用字符串JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV 和 DEC來表示。

            星期字段可以填入的值有1到7(1表示星期日),或者使用字符串SUN, MON, TUE, WED, THU, FRI 和 SAT。

            左斜線(就是
          /這個)表示一個數值的增加,如你用"0/15"來表示分的字段,這意思是"開始于整點零分,每隔15分鐘";如果在分字段用"3/20"表示"開始于第三分鐘,每隔20分鐘",而這意思等同"3,23,43"的表示意思。

            問號(就是
          ?這個)是允許使用在天和星期上的字段,而這表示"沒有特定值",這特別有用在于要設定其中一個字段,但與另一個字段無關時。下面會舉例,或者看CronTrigger JavaDOC有明確的說明。

            L字母允許使用在天和日期上的字段,這個字母L是
          "last"的縮寫,但在放在這兩個字段有個別不同的意思,如L字母放在天的字段,表示這個月的最后一天,一月的最后一天是31號,二月的最后一天是28號(非潤年)。如果把L字母放到星期字段的話只是單純的表示"7""SAT"星期六而已。但是如果把L字母接在星期字段原來值的后面,這就表示"這個月的最后星期幾",舉例"6L""FRIL"都是表示這個月的最后一個星期五。所以呢,當使用L這個字母時,很重要的一點,就是不可以跟列舉或范圍的值放在一起,不然你會搞不清楚結果。

            W子母表示所選取最接近非假日的平常日(星期一到星期五)的日子,如
          "15W"的表示放在天字段的話,這表示"這月份的第15天最接近平常日的日子"

            井號(就是#這個)表示這個月第幾個星期幾的平常日,如
          "6#3"或者"FRI#3"在星期的字段,表示"這個月的第三個星期五"
          posted on 2007-11-29 17:39 破繭而出 閱讀(3806) 評論(2)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: Quartz的XML調用模式
          2010-02-01 11:40 | w
          這個文章寫的好啊。
          quartz一共用了多種方式,就是xml配置不行。
          看了這個文章,一下子恍然大悟。  回復  更多評論
            
          # re: Quartz的XML調用模式
          2012-02-21 09:24 | 劉旭
          能提供下jar包嗎?按照你的例子寫完,就提示很多類不存在..很煩,可以加個qq嗎:896206991  回復  更多評論
            
          主站蜘蛛池模板: 蒲城县| 深水埗区| 朝阳市| 哈尔滨市| 大竹县| 革吉县| 镇坪县| 大同市| 济宁市| 德州市| 莆田市| 赤城县| 库车县| 蒙山县| 阳朔县| 新昌县| 社会| 保靖县| 泗洪县| 安多县| 长乐市| 云林县| 威远县| 西安市| 苍南县| 东阿县| 东方市| 剑河县| 沙湾县| 南开区| 邯郸县| 铜陵市| 于都县| 湖南省| 云梦县| 金乡县| 云霄县| 大城县| 察雅县| 仁寿县| 临沭县|