我试图按以下方式停止我的计划程序
UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = 'PAUSED' where TRIGGER_NAME='triggerName'
但调度程序未停止并在crone expression.
那么如何从数据库中启动或停止石英?
感谢。
答案 0 :(得分:0)
我认为这不是一个好习惯,不要直接在你的代码中使用JobStore;结果可能会被忽视。
中明确说明了这一点切勿在代码中直接使用JobStore实例。出于某种原因,许多人试图这样做。 JobStore用于Quartz本身的幕后使用。你必须告诉Quartz(通过配置)要使用哪个JobStore,但是你应该只使用代码中的Scheduler接口。
答案 1 :(得分:0)
我能够以两种方式做到这一点。我不确定这是否是一个好习惯。
1)通过分别从QRTZ_CRON_TRIGGERS(子表)和QRTZ_TRIGGERS表中删除与作业相关的行,作业将不再执行。我想我们也应该从QRTZ_JOB_DETAILS表中删除该行。但即使没有这样做,它对我也有用。
2)在QRTZ_TRIGGERS表中,有一个名为END_TIME的列。如果您在某个特定时间更新它(您可以使用https://www.epochconverter.com/来获取纪元时间),石英会在时机成熟时自动删除上述所有3个表中的行。
此解决方案适用于Quartz1。我认为它也适用于Quartz2。