1.導入jar包

2.創建entity、
package cn.happy.entity; public class Plan { //時間 private String date; //任務 private String task; public Plan() { } public Plan(String date, String task) { this.date = date; this.task = task; } @Override public String toString() { return "Plan [date=" + date + ", 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; } }
3、創建service
package cn.happy.service; import java.util.ArrayList; import java.util.List; import cn.happy.entity.Plan; public class RemindService { public void print(String name){ List<Plan> list = getPlan(name); System.out.println(name+"的提醒信息\n"); for (Plan plan : list) { System.out.println(plan); } } public void printPlan(String userName){ List<Plan> plansForToday = getPlansForToday(userName); System.out.print(userName + "的提醒信息:\n"); for(Plan plan:plansForToday){ System.out.print(plan +"\n"); } } public List<Plan> getPlansForToday(String userName){ //模擬數據庫查詢,僅為說明問題 List<Plan> list = new ArrayList<Plan>(); list.add(new Plan("2003-8-9 9:00","研討會 | 地點:會議室C01")); list.add(new Plan("2003-8-9 14:00","匯報 | 地點:總裁辦公室")); return list; } public List<Plan> getPlan(String name){ List<Plan> list = new ArrayList<Plan>(); list.add(new Plan("2016年12月18日10:59", "研討會")); list.add(new Plan("2016-12-18 11:01","匯報")); return list; } }
4、創建quartz
package cn.happy.quartz;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import cn.happy.service.RemindService;
/**
* 工作調度類 quartz 類 需要實現 job接口
* @author SLEEP
*
*/
public class RemindJob implements Job {
//注入service對象
RemindService service =new RemindService();
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
service.printPlan("見見");
}
}
5.創建測試類(關鍵)
package cn.happy.test; import java.util.Date; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; import cn.happy.quartz.RemindJob; /** * 測試類 * 使用quartz類 * @author SLEEP * */ public class Test { public void doRemind() throws SchedulerException, InterruptedException { //創建一個任務 JobDetail job= JobBuilder.newJob(RemindJob.class) // .withIdentity("job1", "group1") .build(); //創建一個觸發器 Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("myTrigger", "myTriggerGroup") .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(5) .repeatForever()) .startAt(new Date(System.currentTimeMillis() + 1000)) .build(); //創建調度工廠 SchedulerFactory stdSchedulerFactory = new StdSchedulerFactory(); //創建一個調度者 Scheduler scheduler = stdSchedulerFactory.getScheduler(); //注冊並進行調度 scheduler.scheduleJob(job,trigger); //啟動調度 scheduler.start(); //創建調度者工廠 SchedulerFactory sfc = new StdSchedulerFactory(); //創建一個調度者 Scheduler sched = sfc.getScheduler(); //注冊並進行調度 sched.scheduleJob(job, trigger); //啟動調度 sched.start(); /*//sleep10s Thread.sleep(10000); //關閉調度 sched.shutdown();*/ } /** * */ public static void main(String[] args) { try{ Test testJob = new Test(); testJob.doRemind(); }catch(Exception e){ e.printStackTrace(); } } }
