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 破茧而出 阅读(3779) 评论(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  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: