Quartz2.2.1框架的简单步骤

    SimpleExample 类:

public class SimpleExample {

	private static Log logger = LogFactory.getLog(SimpleExample.class);

	public static void main(String[] args) {
		SimpleExample example=new SimpleExample();
		example.runScheduler();
	}

	public void runScheduler() {
		try {
			//创建并实例化scheduler
			Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
			logger.info("scheduler start up...");
			
			//创建JobDetail
			String jobName = "HelloJob";
			String jobGroup = Scheduler.DEFAULT_GROUP;
			Class jobClass = HelloJob.class;
			JobDetail job = new JobDetailImpl(jobName, jobGroup, jobClass);
			
			// 使用 JobDataMap 向你的 Job 传递配置信息
			job.getJobDataMap().put("name", "Joe Ma");
			job.getJobDataMap().put("age", "18");
			
			//创建触发器
			String TriggerName = "triggerTest";//触发器名称
			int repeatCount = 5;//触发器调用次数
			long repeatInterval = 2 * 1000;//每2秒调用一次
			SimpleTrigger trigger = new SimpleTriggerImpl(TriggerName, repeatCount,
					repeatInterval);
			
			// CronTrigger(星期一和星期四早上8点开始运行)
//			try {
//				CronTrigger cTrigger = new CronTriggerImpl("cronTrigger",
//						Scheduler.DEFAULT_GROUP, "0 0/5 8 ? * MON,THUR");
//				
//			} catch (ParseException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
			
			//jobListener实例化
//			JobListener jobListener=new HelloJobListener();
			
			//TriggerListener实例化
//			TriggerListener triggerListener=new HelloTriggerListener();
			//Scheduler实例化
//			SchedulerListener schedulerListener=new HelloSchedulerListener();
			
			//注册job
			scheduler.scheduleJob(job, trigger);
			//注册jobListener
//			scheduler.getListenerManager().addJobListener(jobListener);
			//注册TriggerListener
//			scheduler.getListenerManager().addTriggerListener(triggerListener);
			//注册SchedulerListenet
//			scheduler.getListenerManager().addSchedulerListener(schedulerList//ener);
			
			//启动scheduler(scheduler没有停止)
			if (!scheduler.isShutdown()) {
				scheduler.start();
			}
			
		} catch (SchedulerException e) {
			// TODO Auto-generated catch block
			logger.error(e);
		}

	}
	
}

HelloJob类:

    一个 Quart Job 就是一个为你执行一个任务的 Java 类。

    该类实现的org.quartz.Job接口,并且重写了execute(JobExecutionContext context)方法,Job要执行的操作,都是写在该方法中的。

public class HelloJob implements Job{

	private static Log logger=LogFactory.getLog(HelloJob.class);
	

	@Override
	public void execute(JobExecutionContext context)
			throws JobExecutionException {
		System.out.println("job is starting ...");
		JobDetail jobDetail = context.getJobDetail();
		logger.info("fired at ---" + context.getFireTime());
		logger.info("Next fire time ----" + context.getNextFireTime());
		
		//在job中访问scheduler中的JobDataMap
		JobDataMap map =jobDetail.getJobDataMap();
		Iterator iterator=map.keySet().iterator();
		while (iterator.hasNext()) {
			String key = (String) iterator.next();
			Object value=map.get(key);
			logger.info("key= "+key+" , value= "+value);
		}
		
	}

}



你可能感兴趣的:(框架,quartz,步骤)