quartz学习03-trigger(2)

CronTrigger这个类在工作中更好用,现在详细说一下他。

通过Crontrigger,你可以指定像每个周五的中午12点或者是每个工作日的早晨的几点或者是每天早晨9到十点,每隔5分钟执行一次。这个类的功能就是如此的强悍。

这个类也需要指定一个startTime,可以选择性的指定一个endTime。

Cron Expressions:一个字符串,用来指定CronTrigger,包含秒、分、时、日、月、周、年   例如:0 0 12 ? * WED  意思是每个周三的12点触发。

可以包含范围符号和list,比如上面的WED可以替换为 MON-FRI 或者是 MON,WED,FRI  甚至是 MON-WED-SAT

*,通配符表示”每一个“的意思,例如如果用在月的位置,表示每一个月。

每一个位置(比如月 年 日 周)都有合理的值,

比如秒是0-59,小时0-23,天1-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,表示从第0分钟开始,每隔15分钟执行一次;"3/20"表示从第三分钟开始,每隔20分钟执行一次。

对于cron表达式,网上有很多资料,我在这里不重复了。

程序中使用CronTrigger的代码,来自官网:

trigger = newTrigger()
    .withIdentity("trigger3", "group1")
    .withSchedule(cronSchedule("0 42 10 ? * WED"))
    .inTimeZone(TimeZone.getTimeZone("America/Los_Angeles"))
    .forJob(myJobKey)
    .build();

 需要导入如下:

import static org.quartz.TriggerBuilder.*;
import static org.quartz.CronScheduleBuilder.*;
import static org.quartz.DateBuilder.*:

 

猜你喜欢

转载自suichangkele.iteye.com/blog/2274137
今日推荐