http://blog.csdn.net/zhuce0001/article/details/53239628
// 有状态job1每3秒运行1次,但会延迟10秒(任务中睡眠了10秒模拟了执行任务需要10秒) JobDetail job = newJob(StatefulDumbJob.class).withIdentity( "statefulJob1", "group1").usingJobData( StatefulDumbJob.EXECUTION_DELAY, 10000L).build(); SimpleTrigger trigger = newTrigger().withIdentity("trigger1", "group1") .startAt(startTime).withSchedule( simpleSchedule().withIntervalInSeconds(3) .repeatForever()).build(); Date ft = sched.scheduleJob(job, trigger); log.info(job.getKey() + " will run at: " + ft + " and repeat: " + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds"); // 有状态job2每3秒运行1次,但会延迟10秒(任务中睡眠了10秒模拟了执行任务需要10秒) // job2设置了策略,所以错失后会立即触发,而不会等到下一个触发点 job = newJob(StatefulDumbJob.class).withIdentity("statefulJob2", "group1").usingJobData(StatefulDumbJob.EXECUTION_DELAY, 10000L) .build(); trigger = newTrigger().withIdentity("trigger2", "group1").startAt( startTime).withSchedule( simpleSchedule().withIntervalInSeconds(3).repeatForever() // 设置错失触发后的调度策略 .withMisfireHandlingInstructionNowWithExistingCount()) .build(); ft = sched.scheduleJob(job, trigger);