定时执行程序-Quartz简单实例
1、加jar包:Quartz自己quartz-1.8.3.jar和依赖包commons-logging.jar 、slf4j-log4j12-1.5.10.jar 、slf4j-api-1.5.10.jar
2、一个类搞定!!!,直接run
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import java.util.Date;
public class QuartzReport implements Job{
public void execute(JobExecutionContext cntxt) throws JobExecutionException {
System.out.println( "输出:"+cntxt.getJobDetail().getJobDataMap().get("name")+new Date());
}
public static void main(String[] args) {
try {
SchedulerFactory schedFact=new StdSchedulerFactory();
Scheduler sched=schedFact.getScheduler();
sched.start();
JobDetail jobDetail=new JobDetail("a","b",QuartzReport.class);
jobDetail.getJobDataMap().put("name","lucy");
CronTrigger trigger=new CronTrigger("c","d");
trigger.setCronExpression("0/1 * * * * ? " ); // 启动之后立即执行 每一秒继续重复。
sched.scheduleJob(jobDetail, trigger);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 输出:
*log4j:WARN No appenders could be found for logger (org.quartz.simpl.SimpleThreadPool).
log4j:WARN Please initialize the log4j system properly.
输出:lucyWed Apr 13 15:11:54 CST 2011
输出:lucyWed Apr 13 15:11:55 CST 2011
输出:lucyWed Apr 13 15:11:56 CST 2011
输出:lucyWed Apr 13 15:11:57 CST 2011
输出:lucyWed Apr 13 15:11:58 CST 2011
输出:lucyWed Apr 13 15:11:59 CST 2011
输出:lucyWed Apr 13 15:12:00 CST 2011
输出:lucyWed Apr 13 15:12:01 CST 2011
输出:lucyWed Apr 13 15:12:02 CST 2011
输出:lucyWed Apr 13 15:12:03 CST 2011
输出:lucyWed Apr 13 15:12:04 CST 2011
输出:lucyWed Apr 13 15:12:05 CST 2011
输出:lucyWed Apr 13 15:12:06 CST 2011
输出:lucyWed Apr 13 15:12:07 CST 2011
输出:lucyWed Apr 13 15:12:08 CST 2011
输出:lucyWed Apr 13 15:12:09 CST 2011
输出:lucyWed Apr 13 15:12:10 CST 2011
输出:lucyWed Apr 13 15:12:11 CST 2011
输出:lucyWed Apr 13 15:12:12 CST 2011
输出:lucyWed Apr 13 15:12:13 CST 2011
输出:lucyWed Apr 13 15:12:14 CST 2011
*/
附:cronExpression配置说明
秒 | 0-59 | , - * / | ||
分 | 0-59 | , - * / | ||
小时 | 0-23 | , - * / | ||
日期 | 1-31 | , - * ? / L W C | ||
月份 | 1-12或者 JAN-DEC | , - * / | ||
星期 | 1-7或者 SUN-SAT | , - * ? / L C # | ||
年(可选) | 留空, 1970-2099 | , - * / |