import org.quartz.*; import org.quartz.impl.*; public class Quartz543 implements Job { private static int count = 0; private static Scheduler mQScheduler; public static void main(String[] args) throws Exception { Trigger mTrigger = new SimpleTrigger("A", "B", 10, 10 * 1000L); mTrigger.setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT); JobDetail detail = new JobDetail("A", "B", Quartz543.class); StdSchedulerFactory schedFact = new StdSchedulerFactory(); mQScheduler = schedFact.getScheduler(); mQScheduler.scheduleJob(detail, mTrigger); mQScheduler.start(); boolean notpaused = true; while ( count < 10 ) { if ( count == 2 && notpaused ) { mQScheduler.pauseJob("A", "B"); Thread.sleep(30 * 1000L); mQScheduler.resumeJob("A", "B"); // mTrigger.updateAfterMisfire(null); notpaused = false; } } } public void execute(JobExecutionContext context) throws JobExecutionException { count++; System.err.println(count + " - Job executed at " + new java.util.Date()); } }