Я пытаюсь отключить триггер для определенной работы, которую я создал в Кварце.У меня есть электронная почта, с которой связан триггер, запуск которого запланирован через два часа.jobGroup
и jobName
доступны для меня.jobName
/ jobId
- это «28d5f25e-0669-4570-bdb2-b4e865fcdc02», а jobGroup
- «работа по электронной почте».Клавиша триггера также кажется правильной.
String jobName = cancelEmailScheheduleRequest.get("jobName"); //correct
String jobGroup = cancelEmailScheheduleRequest.get("jobGroup"); //correct jobGroup
TriggerKey triggerKey = TriggerKey.triggerKey(jobName, jobGroup); // returns object {name: "4dc25e67-10fa-4e2b-8ca0-c91c024a9a05", group: "email-jobs"}
Map<String, String> response = new HashMap<>();
try {
if (scheduler.checkExists(triggerKey)) { //returns false instead of true
scheduler.unscheduleJob(triggerKey);
response.put("message", "Email Unscheduled");
return ResponseEntity.ok(response);
} else {
response.put("message", "No such Email to Unschedule");
return ResponseEntity.ok(response);
}
} catch (SchedulerException e) {
e.printStackTrace();
response.put("message", "Some Error occurred");
return ResponseEntity.ok(response);
}
Но строка scheduler.checkExists(triggerKey)
возвращает FALSE
, в то время как она должна возвращать true, и, таким образом, мой триггер не становится незапланированным.Таким образом, условие else выполняется и возвращается сообщение No such Email to Unschedule
.