我有一个更新cron触发器函数,它具有输入参数作为DTO对象,其中包含以下参数
@Autowired
SchedulerFactoryBean schedulerFactory;
public void editTrigger(SchedulerDTO schedulerDto) throws SchedulerException {
Scheduler scheduler = schedulerFactory.getScheduler();
if(schedulerDto.getCronTriggerGroup() == null || schedulerDto.getCronTriggerGroup().isEmpty()){
schedulerDto.setCronTriggerGroup(Scheduler.DEFAULT_GROUP);
}
Trigger updatedTrigger = TriggerBuilder.newTrigger()
.withIdentity(schedulerDto.getCronTriggerName(), schedulerDto.getCronTriggerGroup())
.withSchedule(CronScheduleBuilder.cronSchedule(schedulerDto.getCronExpression()))
.build();
CronTrigger trigger = cronTrigger.getObject(); // this line of code fetches the
//cron trigger definition from my xml which is kind of hard coded.
// I want to fetch an existing CronTrigger in this line from the data I receive from the Scheduler DTO.
scheduler.rescheduleJob(trigger.getKey(), updatedTrigger);
}
public class SchedulerDTO {
private String cronExpression;
private String cronTriggerName;
private String cronTriggerGroup;
private String jobDetailName;
private String jobDetailGroup;
// setters and getters
}
我正在使用自动装配的Scheduler对象。所以我想从我要求的上述细节中获取cron触发器对象。 我检查了调度程序对象的可用函数以查找现有的Cron触发器,并且所有这些函数都需要CronTriggerKey作为参数。我没有从请求传入CronTriggerKey对象,所以我想使用上面的参数获取现有的CronTrigger。我正在使用Quartz 2.2.1。有人可以帮忙吗?
我目前的代码如下:
{{1}}