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表达式生成网址:点击打开链接