java - 如何在 Spring 中取消预定的 Quartz 作业

标签 java spring quartz-scheduler

我正在使用 Spring 将 Quartz 调度程序(使用 Spring 的 TaskScheduler 接口(interface)抽象出来)注入(inject)到我的应用程序中,该程序会在启动时加载从数据库配置的作业。

它将每个作业添加到调度程序中,如下所示:

TaskScheduler taskScheduler = ...;//injected    
Runnable runableThing = ...;
String cronExpression = ...; //from DB
taskScheduler.schedule(runableThing, new CronTrigger(cronExpression));

我的问题是:是否可以指定诸如 job_id 之类的内容,随后可用于取消作业/触发器 - 例如响应用户在 Web 界面中选择要取消的作业?

我查看了 Spring 文档,但没有找到方法。

感谢您的任何想法。

最佳答案

取消调度作业的特定触发器

scheduler.unscheduleJob(triggerName, triggerGroup);

删除作业并取消调度其所有触发器

scheduler.deleteJob(jobName, jobGroup);

引用:http://www.opensymphony.com/quartz/wikidocs/UnscheduleJob.html

关于java - 如何在 Spring 中取消预定的 Quartz 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269754/

相关文章:

java - 如何在 Java 中用空格替换双引号?

Java 列表到 Thymeleaf 表单输入

grails - Grails 应用程序中的 Quartz 作业被触发 3 次

java - 恢复卡住的 quartz 作业

java - 解析 XSD 并获取嵌套元素

java - 如何获取用户的语言作为 ISO-639-2 代码?

java - 改造:使用 Jackson 反序列化失败,没有任何错误

Spring 请求和原型(prototype)范围?

java - 使用 Freemarker 创建您自己的自定义助手?

java - 使用 Spring 创建 Scheduler Bean 时出现 NullPointerException