Quartz任务调度 2.2.1版本写法

来源:互联网 发布:见缝插针安卓源码 编辑:程序博客网 时间:2024/05/29 17:16

版本  quartz-2.2.1-distribution  

  

<pre name="code" class="java">/** * 实体类 * @author Administrator * */public class Plan {private String date;private String task;public Plan() {// TODO Auto-generated constructor stub}public Plan(String data,String task){this.date=data;this.task=task;}public String getDate() {return date;}public void setDate(String date) {this.date = date;}public String getTask() {return task;}public void setTask(String task) {this.task = task;}}





import java.util.ArrayList;import java.util.Date;import java.util.List;/** * 提醒服务类 * @author Administrator * */public class RemindService {public void ouputPlan(String username){List<Plan> list =getPlansForToday(username);System.out.println("当前时间"+new Date());System.out.print(username+"提醒信息"+"\n");for(Plan p:list){System.out.println("时间"+p.getDate()+"内容"+p.getTask());}}public List<Plan> getPlansForToday(String username){//数据模拟List<Plan> list= new ArrayList<Plan>();list.add(new Plan("2015-05-01 11:00","开会"));list.add(new Plan("2015-05-02 11:00","开周会"));list.add(new Plan("2015-05-03 11:00","开月会"));         return list;}}



import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/** * s * @author Administrator * */public class RemindJob implements Job {    public RemindJob() {// TODO Auto-generated constructor stub}    private RemindService remindservice;@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {// TODO Auto-generated method stubremindservice=new RemindService();remindservice.ouputPlan("张珊");}}



import java.util.Date;import org.quartz.JobBuilder;import org.quartz.JobDataMap;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SimpleScheduleBuilder;import org.quartz.SimpleTrigger;import org.quartz.TriggerBuilder;import org.quartz.TriggerKey;import org.quartz.impl.StdSchedulerFactory;public class TestJob {public static void main(String[] args) {//得到一个默认的调度器try {Scheduler defaultScheduler = StdSchedulerFactory.getDefaultScheduler();    //2.0.0之后,JobDetail 变成了接口,不能用之前的 new JobDetail()来实例了,现在要通过相应的作业建造器来管理生成JobDetail jobDetail = JobBuilder.newJob(RemindJob.class).withIdentity("myFirstJob", "firstJob").build();JobDataMap jobDataMap = jobDetail.getJobDataMap(); //可以向作业数据对象中,存放自己需要的数据,在自己实现的 Job 类中,可以通过 context 得到相应的参jobDataMap.put("1", "1");    jobDataMap.put("1", "1");    SimpleTrigger simpleTrigger = TriggerBuilder.newTrigger().withIdentity(TriggerKey.triggerKey("myFirstTigger", "myFirstGroup")).withSchedule(SimpleScheduleBuilder.simpleSchedule().repeatForever().withIntervalInSeconds(5)).startAt(new Date()).build();//添加调度作业(将具体的作业和触发器添加到作业中)defaultScheduler.scheduleJob(jobDetail, simpleTrigger);//执行调度任务defaultScheduler.start();} catch (SchedulerException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


0 0
原创粉丝点击