Java 如何删除Quartz JDBC存储中的作业?
我编写此方法是为了从Quartz JDBC中删除作业Java 如何删除Quartz JDBC存储中的作业?,java,spring,quartz-scheduler,Java,Spring,Quartz Scheduler,我编写此方法是为了从Quartz JDBC中删除作业 public boolean removeJob(String jobName) { try { JobKey jobKey = JobKey.jobKey(jobName); try { Scheduler sched = schedulerFactoryBean.getScheduler(); logger.info("RESULT:
public boolean removeJob(String jobName) {
try {
JobKey jobKey = JobKey.jobKey(jobName);
try {
Scheduler sched = schedulerFactoryBean.getScheduler();
logger.info("RESULT: " + sched.deleteJob(jobKey));
} catch (Exception e) {
throw new RuntimeException(e);
}
return true;
} catch (Exception ex) {
logger.error(ex.getMessage());
return false;
}
}
deleteJob
总是返回false
。因此,该作业不会从mysql中的JDBC表中删除。我做错了什么。我只想从计划程序中完全删除此作业在创建作业期间是否定义了作业组?然后您可能需要调用jobKey(jobName,group)
。您还可以使用scheduler.checkExists(jobKey)
方法检查作业是否存在,这将有助于调试
JobKey jobKey = jobKey(jobName, group);
if (scheduler.checkExists(jobKey)) {
logger.info("job found with key: {}", jobKey);
scheduler.deleteJob(jobKey);
}
您是否在创建工作时定义了工作组?然后您可能需要调用
jobKey(jobName,group)
。您还可以使用scheduler.checkExists(jobKey)
方法检查作业是否存在,这将有助于调试
JobKey jobKey = jobKey(jobName, group);
if (scheduler.checkExists(jobKey)) {
logger.info("job found with key: {}", jobKey);
scheduler.deleteJob(jobKey);
}