1.首先建立自己的任务
public class DocIndexesTask implements Job{//实现job
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
try {
system.out.println("此处写定时器执行的业务");
} catch (Exception e) {
e.printStackTrace();
}
}
}
2.然后设置定时器
public class TaskMan {
private Scheduler sched;
public void run() throws Exception{
SchedulerFactory sf = new StdSchedulerFactory(); sched = sf.getScheduler();//一个定时器可启动多个任务
JobDetail docjob = JobBuilder.newJob(DocIndexesTask.class).build(); //DocIndexesTask加在业务类执行的业务逻辑
JobDetail imagejob = JobBuilder.newJob(ImageIndexesTask.class).build();
//设置触发时间
CronTrigger doctrigger = TriggerBuilder.newTrigger() .withSchedule(CronScheduleBuilder.cronSchedule("00 30 22 ? * *")).build();
CronTrigger imagetrigger = TriggerBuilder.newTrigger() .withSchedule(CronScheduleBuilder.cronSchedule("00 20 23 ? * *")).build();
sched.scheduleJob(docjob, doctrigger); sched.scheduleJob(imagejob, imagetrigger); sched.start();}}
3.在监听器中启动定时器(针对web程序)
TaskMan task = new TaskMan();
try {
task.run();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以上三步完成定时器定时触发。