您的位置:首页 > 其它

Quartz任务调度 2.2.1版本写法

2015-06-19 16:47 211 查看
版本 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;
	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		// TODO Auto-generated method stub
		remindservice=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 block
			e.printStackTrace();
		}
	}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: