在数据库表中闲置的Quartz作业

时间:2013-04-22 23:30:15

标签: java mysql spring tomcat quartz-scheduler

我们使用Quartz 2.1.6在集群上进行作业调度,并将作业数据存储在MySQL数据库(MySQL 5.1)的JDBC作业库中。

我们所有的Quartz配置(调度程序,作业,触发器)都是在Spring启动时完成的。我们将数据存储在数据库中以便进行聚类。

问题:我们有几个已添加的作业,然后从Quartz配置中删除。它们不再在配置中,但它们仍然存在于表中。我们如何摆脱它们?阅读Quartz文档,似乎对表进行手动编辑是一件非常糟糕的事情。

我们似乎没有明确设置JobDetail.setDurability(true),所以我不确定为什么这些作业和触发器都在闲置,但它们是。

有人有答案吗?

1 个答案:

答案 0 :(得分:1)

是的,除非你非常清楚自己在做什么,否则在数据库中执行此操作并不是最佳选择。所以,尝试以编程方式进行:

ISchedulerFactory factory = new StdSchedulerFactory();
IScheduler schedulder = factory.GetScheduler();

schedulder.DeleteJob(JobName, JobGroup);