首页 > 解决方案 > 如何重新安排 Quartz 触发器?

问题描述

我正在努力学习石英。我有主要方法

    public static void main(String[] args) throws SchedulerException {

        try {
            JobDetail job1 = JobBuilder.newJob(Job1.class).withIdentity("job1", "group1").build();

            Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity("cronTrigger1", "group1")
                    .withSchedule(CronScheduleBuilder.weeklyOnDayAndHourAndMinute(3, 12, 38)).build();

            Scheduler scheduler1 = new StdSchedulerFactory().getScheduler();
            scheduler1.start();
            scheduler1.scheduleJob(job1, trigger1);

     scheduler1.shutdown();
    }

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

哪个工作正常。它在一周的第三天下午 12:38 打印到控制台。现在,我想做的是重新安排触发器,以便它删除以前存储的触发器并使用新的日程表创建一个新触发器。

我在很多地方读了很多东西,但我似乎无法清楚地理解我实际上必须做什么,例如:

    public void execute(JobExecutionContext context) throws JobExecutionException {
    Trigger newTigger = what ever you want;
    Trigger oldTrigger = context.getTrigger()
    Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
    scheduler.rescheduleJob(oldTrigger.getKey(), newTrigger);
    }

但我无法理解这种方法(虽然我确实理解代码中发生的事情)。提前致谢。

标签: java

解决方案


推荐阅读