Quartz任务调度 2.2.1版本写法

本文介绍了使用Quartz框架实现计划提醒服务,并结合实体类、提醒服务类与定时任务进行详细解析,包括如何创建计划、获取今日计划并输出提醒信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值