gpt4 book ai didi

java - 当前作业完成后关闭 Quartz 调度程序

转载 作者:行者123 更新时间:2023-12-01 09:56:22 29 4
gpt4 key购买 nike

我正在使用 Quartz 在 Windows 服务中进行作业调度。当服务停止或用户更改作业运行频率时,我需要关闭调度程序。因为我想等待正在执行的作业,所以我使用

scheduler.Shutdown(true);

我在这两种情况下都遇到异常:

Quartz.UnableToInterruptJobException: Job 'myJob' can not be interrupted, since it does not implement Quartz.IInterruptableJob

正在运行的服务无法停止,这很糟糕。

但是作业中断意味着不等待作业完成?那么,这不是我想要的吗?虽然它可以解决当前的异常问题。

不导致shutdown崩溃的正确实现是什么?

如果我确实需要实现 IInterruptableJob,该怎么做?我没有找到关于此的教程,而且我真的不想做任何与标准关闭不同的事情。我使用标准调度程序工厂来创建调度程序:

schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.GetScheduler();

最佳答案

我找到了如何中断作业...我只需实现 IInteruptableJob 接口(interface),并使用 interrupt 方法执行任何操作。 This 帖子对我帮助很大!

关于java - 当前作业完成后关闭 Quartz 调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37184009/

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