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

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


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


                ☆配置Quartz[在conf目錄下新建quartz.properties]
               [簡單說明:線程數(shù)量=一個(org.quartz.threadPool.threadCount=1),
                        線程優(yōu)先級=普通(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中寫入下列代碼][執(zhí)行可以看結果]
          main函數(shù)


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

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

              
          "秒(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"來表示。

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

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

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

            左斜線(就是
          /這個)表示一個數(shù)值的增加,如你用"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 破繭而出 閱讀(3809) 評論(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  回復  更多評論
            
          主站蜘蛛池模板: 克东县| 钟山县| 仁怀市| 湖州市| 石嘴山市| 林州市| 会泽县| 彩票| 黎川县| 枣庄市| 德州市| 江源县| 库尔勒市| 景东| 屯昌县| 丹巴县| 利川市| 定襄县| 固镇县| 新巴尔虎右旗| 盐边县| 额尔古纳市| 安新县| 广丰县| 那坡县| 张北县| 宣化县| 元朗区| 凤冈县| 汉寿县| 泾源县| 湾仔区| 刚察县| 尼勒克县| 静宁县| 黄平县| 民县| 巨鹿县| 富川| 广安市| 宜州市|