繁体   English   中英

如何在java中取消预定的cron作业时间?

[英]how to cancel the time scheduled cron job in java?

  public class CronTriggerApp {
        public static void main(String[] args) {

            try {

                SchedulerFactory sf = new StdSchedulerFactory();
                Scheduler scheduler = sf.getScheduler();

                JobDetail job = JobBuilder.newJob(Main.class)
                        .withIdentity("dummyJobName", "group1").build();
     System.out.println(job);
                Date startTime = DateBuilder.nextGivenSecondDate(null, 5);
     System.out.println(startTime);
                // run every 20 seconds infinite loop
                CronTrigger crontrigger = TriggerBuilder
                        .newTrigger()
                        .withIdentity("TwentySec", "group1")
                        .startAt(startTime)
                        .startNow()
                        .withSchedule(CronScheduleBuilder.cronSchedule("* * * ? * *"))//0 53 12 * * ? *
                        .build();

                scheduler.start();
                scheduler.scheduleJob(job, crontrigger);

                 //scheduler.shutdown();

            } catch (SchedulerException se) {
                se.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

public class Main implements Job {
    public void execute(JobExecutionContext context) throws JobExecutionException 
    {

        System.out.println("Trigger Starts.."+new Date());
        System.out.println("ALL_OFF");

    }
}

通过使用上面的代码,我可以安排cron job ..但如果想取消计划时间怎么能取消或停止计划任务? 任何人都可以帮助我如何停止或取消预定的任务?

您可以公开端点以中断它。 并使用调度程序的以下功能来阻止它。 scheduler.interrupt(jobDetail.getKey());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM