quartz使用教程

来源:互联网 发布:js禁用滚动条事件 编辑:程序博客网 时间:2024/04/30 08:58
//用到的lib quartz-all-1.8.6.jar slf4j-log4j12-1.6.0.jar commons-logging-1.1.1.jar


public class SimpleJob implements Job{@Overridepublic void execute(JobExecutionContext jobCtx) throws JobExecutionException {System.out.println(jobCtx.getTrigger().getName()+" triggered.time is: "+(new Date()));}}
public class SimpleTriggerRunner {public static void main(String[] args) {try{//创建一个JobDetail实列 指定SimpleJobJobDetail jobDetail=new JobDetail("jbo1-1","jgroup1", SimpleJob.class);//通过SimpleTrigger定义调度规则:马上启动,每2秒运行一次,共运行100次SimpleTrigger simpleTrigger=new SimpleTrigger("trigger1-1", "tgroup1");simpleTrigger.setStartTime(new Date());simpleTrigger.setRepeatInterval(2000);simpleTrigger.setRepeatCount(100);//通过SchedulerFactory获取一个调度器实例SchedulerFactory schedulerFactory=new StdSchedulerFactory(); Scheduler scheduler=schedulerFactory.getScheduler();//注册并进行调度scheduler.scheduleJob(jobDetail, simpleTrigger);scheduler.start();}catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}

public class CronTriggerRunner {public static void main(String[] args) {try{JobDetail jobDetail=new JobDetail("job1_2", "jGroup1", SimpleJob.class);CronTrigger cronTrigger=new CronTrigger("trigger1-2","tgroup1");//***************Cron表达式*********************// * 位置    时间域名  允许值   允许的特殊字符// * 1         秒             0-59 ,-*/// * 2         分钟         0-59 ,-*/// * 3        小时          0-23 ,-*/ // * 4        日期          1-31 ,-*?/ L W C// * 5        月份          1-12 ,-*/ // * 6        星期          1-7  ,-*?/ L C # // * 7        年(可选) 空值1970-2099     ,-*///***************Cron表达式符号意义*********************/*  星号(*) 可用在所有字段中,表示对应时间域的每一个时刻 *  问号(?) 该字符只在日期和星期字段中使用,它通常指定为无意义的值,相当于占位符 *  减号(-) 表示一个范围 *  逗号(,) 表示一个列表值,比如在日期字段中使用1,4,5 则表示星期一,星期四,星期五 *  斜杠(/) x/y x为起始值,y为增长值 *  L 在日期中表示这个月的最后一天  在星期中表示星期六 *  W 表示离该日期最近的工作日   注意:不能够跨月  如指定1W,如果1号是星期六,结果匹配的是3号的星期一 *  LW 当月的最后一个工作日 *  井号(#) 表示当月的某个工作日 如 6#3表示当月的第3个星期5 *  C 计划所关联的日期,如果没有被关联,相当于所有日期   *    5C在日期中相当于5日以后的第一天 *    1C相当于星期日后的第一天 */CronExpression cexp=new CronExpression("0 07 14 2 12 ? 2013");cronTrigger.setCronExpression(cexp);SchedulerFactory schedulerFactory=new StdSchedulerFactory();Scheduler scheduler=schedulerFactory.getScheduler();scheduler.scheduleJob(jobDetail,cronTrigger);//第一次启动任务的时候要开启容器scheduler.start();//删除任务 scheduler.deleteJob("job1_2", "jGroup1");//删除任务scheduler.deleteJob("job1_2", "jGroup1");//暂停所有任务 scheduler.pauseAll()    //恢复所有任务 scheduler.resumeAll()//动态添加任务,到点就会执行scheduler.scheduleJob(jobDetail, cronTrigger);}catch (Exception e) {e.printStackTrace();}}}