JOB是
@IocBean
public class StockJob implements Job{
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
System.out.println("任务正在执行,执行时间: " + Calendar.getInstance().getTime());
}
}
Schedule是
private void stockSchedule() throws Throwable{
sf = new StdSchedulerFactory();
// 从工厂里面拿到一个scheduler实例
sched = sf.getScheduler();
// 计算任务的开始时间,DateBuilder.evenMinuteDate方法是取下一个整数分钟
// Date runTime = DateBuilder.evenMinuteDate(new Date());
// 真正执行的任务并不是Job接口的实例,而是用反射的方式实例化的一个JobDetail实例
job = JobBuilder.newJob(StockJob.class).withIdentity("job1", "group1").build();
// 定义一个触发器,startAt方法定义了任务应当开始的时间
// Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();
// 定义触发时间
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")).build();
// 将任务和Trigger放入scheduler
sched.scheduleJob(job, trigger);
sched.start();
}
在Nutz SetUp里面
@Override
public void destroy(NutConfig config) {
// TODO Auto-generated method stub
System.out.println("关闭服务");
//定时任务
//MainSchedule mainSchedule=new MainSchedule();
//mainSchedule.shutdownSchedule();
try {
config.getIoc().get(Scheduler.class).shutdown(true);
} catch (Exception e) {
}
}
用的是tomcat8.0.9,启动服务的时候正常,也能正常运行线程,但是在关闭服务的时候&