quartz使用教程

原创 2013年12月02日 14:17:34
//用到的lib quartz-all-1.8.6.jar slf4j-log4j12-1.6.0.jar commons-logging-1.1.1.jar



public class SimpleJob implements Job{

	@Override
	public 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实列 指定SimpleJob
		JobDetail 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 exception
			e.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();
		}

	}

}


相关文章推荐

Quartz任务调度入门

Quartz认为调度入门
  • ZJDWHD
  • ZJDWHD
  • 2016年10月10日 10:28
  • 327

quartz使用教程

1.在官网下载文件 http://www.quartz-scheduler.org/ 现在的版本是2.2    quartz-2.2.0-distribution.tar.gz  ...

quartz教程

  • 2012年04月08日 17:46
  • 140KB
  • 下载

quartz scheduler 入门教程

  • 2015年07月08日 19:32
  • 25KB
  • 下载

iOS 图形处理 Core Graphics Quartz2D 教程

Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲...

Quartz中文教程学习

  • 2015年07月08日 21:30
  • 1.16MB
  • 下载

quartz.net教程

  • 2015年12月24日 00:00
  • 157KB
  • 下载

Quartz.NET教程_Lesson 5: SimpleTrigger

课程5:简单触发器 当你仅仅想创建一个在某一时刻执行的作业或者依照特定时间间隔不断重复的作业时,简单触发器可以满足你任务调度的需求。...

Quartz教程中文版

  • 2013年06月28日 22:10
  • 1.16MB
  • 下载

Quartz官方文档汉化教程

  • 2012年05月11日 14:49
  • 44KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:quartz使用教程
举报原因:
原因补充:

(最多只允许输入30个字)