gpt4 book ai didi

java - 如何使用sql手动更改quartz作业计划时间?

转载 作者:行者123 更新时间:2023-12-01 20:53:05 24 4
gpt4 key购买 nike

我正在使用 Quartz 作业调度程序来运行一些作业。我正在使用 java api 管理这项工作。

当我使用 java 将作业重新安排到不同的时间时,

   scheduler.deleteJob(jobName, jobGroupName);

addJobsInScheduler(jobName, jobGroupName, triggerName,
triggerGroup, newTime, schoolName);

作业正在重新安排并在指定时间触发。

现在有一个要求,我必须在没有 UI(没有 Java api)的情况下重新安排工作。

据我了解,当我重新安排作业时,下表条目会更新。

QRTZ_JOB_DETAILS

QRTZ_TRIGGERS

QRTZ_CRON_TRIGGERS

所以我手动更新了QRTZ_TRIGGERS、QRTZ_CRON_TRIGGERS中的触发时间。但该作业未在更新时间触发。

这样可以达到我的要求吗?

注意:我使用 sql server 2008 作为我的后端。

Table Structure:

最佳答案

我认为您不应该直接使用 SQL 更新 Quartz 表。 Quartz 文档中没有正确的 SQL 处理方法,因此,谁也不能保证将来 Quartz 与数据库之间的接口(interface)不会发生任何更改。

根据文档Lesson 9: Job Stores

Never use a JobStore instance directly in your code. For some reason many people attempt to do this. The JobStore is for behind-the-scenes use of Quartz itself. You have to tell Quartz (through configuration) which JobStore to use, but then you should only work with the Scheduler interface in your code.

您应该按照以下文档更新触发器。

How-To: Updating a trigger

如果您没有 UI,您需要创建新界面来以某种方式更新您的日程安排。

关于java - 如何使用sql手动更改quartz作业计划时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42850425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com