Java 为什么我的Quartz触发器在重新启动Spring引导应用程序时不更新更改的Cron表达式?

Java 为什么我的Quartz触发器在重新启动Spring引导应用程序时不更新更改的Cron表达式?,java,spring-boot,cron,quartz-scheduler,Java,Spring Boot,Cron,Quartz Scheduler,我在我的spring boot应用程序中创建了一个Cron调度触发器,如下所示,它被完全触发了。问题是,当我在下面的代码中更改Cron schedule表达式并重新启动spring引导应用程序时,Cron schedule触发器没有得到更新,仍然触发旧的Cron schedule表达式值 在检查数据库表时,我看到表qrtz_cron_triggers中的记录没有得到更新 qrtz_cron_触发器表中的记录为 “quartzScheduler”“Qrtz\u NEReportProcessor\

我在我的spring boot应用程序中创建了一个Cron调度触发器,如下所示,它被完全触发了。问题是,当我在下面的代码中更改Cron schedule表达式并重新启动spring引导应用程序时,Cron schedule触发器没有得到更新,仍然触发旧的Cron schedule表达式值

在检查数据库表时,我看到表qrtz_cron_triggers中的记录没有得到更新

qrtz_cron_触发器表中的记录为

“quartzScheduler”“Qrtz\u NEReportProcessor\u作业\u触发器”“默认”“0 30 22?**”“亚洲/加尔各答”

如何确保在重新启动spring启动应用程序时,cron schedule表达式值得到更新?我的代码如下

    @Bean(name = "nRJobDetail")
    public JobDetail nRJobDetail() {
        return newJob().ofType(NEReportJob.class).storeDurably().withIdentity(JobKey.jobKey("Qrtz_NEReportProcessor_Job_Detail")).withDescription("Invoke NEReportProcessor Job service...").build();
    }

    @Bean
    public Trigger nRTrigger(@Qualifier("nRJobDetail") JobDetail job) {
        return newTrigger().forJob(job).withIdentity(TriggerKey.triggerKey("Qrtz_NEReportProcessor_Job_Trigger")).withDescription("NEReportProcessor trigger")
                .withSchedule(CronScheduleBuilder.cronSchedule("0 00 23 ? * *")
                )
                .build();
    }

我想你忘记配置了

spring.quartz.overwrite-existing-jobs=true

配置的作业是否应覆盖现有作业定义


谢谢你@michaldo。我没有配置此属性。