Quartz 定时器
package com.chengshu.tasker;
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
/**
* @author 张彦
* @email: zhangyan1@juxinli.com
* @date 创建时间:2016年6月17日 下午5:12:41
* @version 1.0
*/
public class QuartzTrigger {
public static void trigger() throws Exception {
// 月初的零点十五分执行一次 "0 5 0 1-10 * ?"
// 每天12点10分执行一次 "0 10 12 * * ? *"
JobDetail job = JobBuilder.newJob(Task.class).withDescription("我的任务").withIdentity("investmetnTask", "group1").build();
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
.withSchedule(CronScheduleBuilder.cronSchedule("0 55 20 * * ? *")).startNow().build();
// Grab the Scheduler instance from the Factory
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.scheduleJob(job, trigger);
// and start it off
scheduler.start();
}
}
package com.chengshu.tasker;
import java.util.Date;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import com.chengshu.service.TimeTask;
/**
* @author 张彦
* @email: zhangyan1@juxinli.com
* @date 创建时间:2016年6月17日 下午5:13:30
* @version 1.0
*/
public class Task implements org.quartz.Job {
@Autowired
TimeTask timeTask;
public Task() {
}
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println(new Date()+" 我的任务被执行");
try {
timeTask.task();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
当然了,用spring标签更简单
@Scheduled(cron="0 1 * * * ?") //秒 分 时 日 月 星期 年