Quartz的定时任务的实现

1. 所需jar包:quartz-2.2.1.jar,在maven公库搜索"quartz"下载对应jar即可。

2. 实现代码:

package cn.yxj.quartz;

import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
 *  创建一个实现job接口的任务
 * */
public class JobA implements Job {

	@Override
	public void execute(JobExecutionContext context) throws JobExecutionException {
		//  获取执行传递过来的数据。
		JobDataMap  data  =	context.getMergedJobDataMap();
		System.out.println("我每五秒都会执行一次哦。。。。");
		System.out.println("传递过来的参数--->"+data.getString("message"));
	}
}
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class CronTriggerDemo {
		public static void main(String[] args) throws SchedulerException, Exception {
 //	   JobKey jobKeyA = new JobKey("jobA", "jobGroup");
			JobDataMap  data = new JobDataMap();   // 可以给要执行的job传递参数
			data.put("message","给要执行的job传递的参数message!");
	    	JobDetail jobA = JobBuilder.newJob(JobA.class)
			.withIdentity("jobA","jobGroup").setJobData(data).build();  // 参数: jobName,jobGruopName
	    	//    TriggerKey triggerKey = TriggerKey.triggerKey("jobAtigger", "triggerGruopName");  
	       	Trigger trigger1 = TriggerBuilder
	       			.newTrigger()
	       			.withIdentity("jobAtigger", "triggerGruopName") //参数: triggerName,triggerGruopName
	       			.withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ? ")) // 参数:cronExpression【这里表示每五秒调用一次任务】(cron表达式自行了解)
//	       		    .startAt(parse("2018-06-06 14:56:20"))    //指定什么时候触发事件
//	       			.endAt(parse("2018-06-06 14:57:00"))     //指定什么时候停止事件
	       			.build();
	       	Scheduler scheduler = new StdSchedulerFactory().getScheduler();
	    	scheduler.start();
	    	scheduler.scheduleJob(jobA, trigger1);
		}
		public  static Date parse(String dateStr) throws Exception{
	       	SimpleDateFormat datetimeformat =   new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	       	return datetimeformat.parse(dateStr);
		}
}

3. 在线 cron表达式生成网址:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值