gpt4 book ai didi

java - 如何更新预定的 quartz 作业?

转载 作者:行者123 更新时间:2023-12-05 09:18:27 24 4
gpt4 key购买 nike

以下两个片段都出现此错误:

org.quartz.SchedulerException: Jobs added with no trigger must be durable.

  JobDetail job = scheduler.getJobDetail(jobKey(jobInfo));
job.getJobDataMap().put(JOB_CONTENT, objectMapper.writeValueAsString(jobInfo));
scheduler.addJob(job, true);


JobDetail job = JobBuilder
.newJob(MyJob.class)
.usingJobData(JOB_CONTENT, objectMapper.writeValueAsString(jobInfo))
.withIdentity(jobKey(jobInfo))
.build();
scheduler.addJob(job, true);

最佳答案

addJob() 用于添加没有附加触发器的作业:如果这是您想要的,只需添加对 storeDurably() 的调用即可给 JobBuilder;如果,我只能猜测,你想在保留旧触发器的同时更新作业,你需要先检索现有的触发器,然后,如果触发器不需要更改,scheduler.scheduleJob(newJob,旧触发器);否则使用 TriggerBuilder.getTriggerBuilder(); 为它获取构建器构建一个副本,进行更改,并最终调用 scheduler.scheduleJob(newJob, newTrigger)

关于java - 如何更新预定的 quartz 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44399946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com