java – 如何从石英表中删除未使用的触发器

前端之家收集整理的这篇文章主要介绍了java – 如何从石英表中删除未使用的触发器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用带有Quartz的spring,并且每个东西都工作正常但是之前的一些cofigured触发器也被执行了,因为它们存储在Quartz表中.
我们可以手动删除所有未配置的触发器并执行应用程序,但这不是一个好习惯.
我想通过spring quartz属性或其他解决方删除所有触发器.

当我在spring配置文件中配置了3个触发器时

当服务器启动时,所有触发器都存储在Quartz表中,并带有相应的cron触发器和作业详细信息.
如果我删除了我的配置中的任何触发器,例如我在上面删除了第二个触发器,但它没有从Quartz表中删除.
那时DBtrigger(删除触发器)也执行了.

在Spring Quartz集成中,是否有任何属性可以处理这个问题,还是我们需要为此问题做些其他事情?

提前致谢.

最佳答案
如果您在DB中存储触发器(假设您的触发器是基于cron的),您可以简单地删除这样的记录:

DELETE FROM QRTZ_CRON_TRIGGERS WHERE SCHED_NAME='scheduler' and TRIGGER_NAME='myTrigger' and TRIGGER_GROUP='DEFAULT';
DELETE FROM QRTZ_TRIGGERS WHERE SCHED_NAME='scheduler' and TRIGGER_NAME='myTrigger' and TRIGGER_GROUP='DEFAULT';

您也可以考虑查看其他Quartz DB表以查找与您的工作相关的剩余物.

猜你在找的Spring相关文章