package com.demo.quartz.quartz01;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HelloJob implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub
//当前时间
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.err.println("当前时间是:" + sf.format(date));
System.out.println("hello world!");
}
}
package com.demo.quartz.quartz01;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class HelloScheduler
{
public static void main(String[] args) throws SchedulerException
{
/**
* CronTrigger 基于日期的作业调度
*/
/**
* Cron表达式 由七个子表达式组成,描述了时间的详细信息 秒 分 小时 日 月 周 年
* ,或
* -至
* *每
* ?不关心
* /每
* L最后
* #
* W
* C
*/
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.err.println("当前时间是:" + sf.format(date));
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("myjob", "group1").build();
//每秒執行一次
CronTrigger trigger = (CronTrigger) TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ? *")).build();
//每天10点15分出發(0 15 10 ? * *)
//每天下午的2点到2点59分(整点開始, 每個5分鐘触发)(0 0/5 14 * * *)
//从周一到周五每天上午10点15触发(0 15 10 ? MON-FRI)
//每月的第三周的星期五触发(0 15 10 ? * 6#3)
//从2016年到2017年每月最后一周的星期五10点15分触发(0 15 10 * ? 6L 2016-2017)
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
// 打印当前时间
System.out.println(sf.format(new Date()));
scheduler.scheduleJob(jobDetail, trigger);
}
}