版本 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();
}
}
}