Quartz的简单实例

来源:互联网 发布:windows ce 5.0 编辑:程序博客网 时间:2024/06/05 02:25

1、Job

import java.text.SimpleDateFormat;import java.util.Date;import org.quartz.Job;import org.quartz.JobDataMap;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.quartz.JobKey;import org.quartz.Trigger;public class FirstJob implements Job {Double triggerDouble;//与jobDataMap的key一一对应public Double getTriggerDouble() {return triggerDouble;}public void setTriggerDouble(Double triggerDouble) {this.triggerDouble = triggerDouble;}public void execute(JobExecutionContext context) throws JobExecutionException {System.out.println("Job Start Time Is: "+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));System.out.println("Hello World!");System.out.println("打印job上下文信息");JobKey key = context.getJobDetail().getKey();System.out.println("key: "+key.getName()+"+"+key.getGroup());JobDataMap dataMap = context.getMergedJobDataMap();System.out.println("message: "+dataMap.getString("message"));System.out.println("triggerDouble:"+ triggerDouble);Trigger currentTrigger = context.getTrigger();System.out.println("trigger start Time is: "+currentTrigger.getStartTime());}}

2、执行quartz

import java.text.SimpleDateFormat;import java.util.Date;import org.quartz.CronScheduleBuilder;import org.quartz.CronTrigger;import org.quartz.JobBuilder;import org.quartz.JobDataMap;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SchedulerFactory;import org.quartz.SimpleScheduleBuilder;import org.quartz.SimpleTrigger;import org.quartz.Trigger;import org.quartz.TriggerBuilder;import org.quartz.impl.DirectSchedulerFactory;import org.quartz.impl.StdSchedulerFactory;public class Quartz {public static void main(String[] args) throws SchedulerException {// JobDetailJobDetail jobDetail = JobBuilder.newJob(FirstJob.class).withIdentity("firstJob", "firstJobGroup").usingJobData("message", "firstJobMessage").build();// Trigger/*Trigger trigger = TriggerBuilder.newTrigger()  .withIdentity("firstTrigger", "firstTriggerGroup").usingJobData("triggerDouble", 123.321D).startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();*//*SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("firstTrigger", "firstTriggerGroup").usingJobData("triggerDouble", 123.321D).startAt(new Date()).endAt(new Date()).withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();*/CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("firstTrigger", "firstTriggerGroup").usingJobData("triggerDouble", 123.321D).startAt(new Date()).endAt(new Date()).withSchedule(CronScheduleBuilder.cronSchedule("")).build();// scheduleSchedulerFactory factory = new StdSchedulerFactory();Scheduler scheduler = factory.getScheduler();/*DirectSchedulerFactory  factory = DirectSchedulerFactory.getInstance();Scheduler scheduler = factory.getScheduler();*/scheduler.start();System.out.println("Current Time Is: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));scheduler.scheduleJob(jobDetail, trigger);//近期trigger触发的时间}}

3、基础知识如上一篇的quartz浅析