当前位置: 首页 > 知识库问答 >
问题:

Quartz Scheduler:否决作业执行将导致触发器不再激发

朱锦
2023-03-14

我正在使用Java web应用程序中的quartz实现。我们已经实现了TriggerListener类,因此当触发器触发时,它会调用vetoJobExecution(触发器触发器,JobExecutionContext JobExecutionContext)方法。我们检查一个引用表,看看作业是否应该运行。所有这些工作都很好。

断开的部分是如果作业不应该运行,因此vetoJobExecution方法返回false。在那发生之后,扳机就再也不会开火了。这是我不明白的部分。似乎应该继续触发触发器,并且应该继续调用vetoJobExecution方法以查看作业是否应该运行。这种情况根本不会发生--一旦作业被否决,触发器就不会再次激发,而且vetoJobExecution方法也永远不会被调用。

正确的策略是什么,使quartz作业不使用TriggerListener接口运行,但下次仍然触发触发器?

共有1个答案

班承恩
2023-03-14

通过升级到1.7.3版本修复。

 类似资料:
  • 我面临QuartzScheduler触发器定义的问题。 2019年2月28日星期四16:27:30 IST:开始时间 0/20 0 0 ? * * * Cron表达式 2019年2月28日星期四16:29:30 IST结束时间 触发器schedulerAdderTrigger=触发器生成器。newTrigger()。withIdentity(触发键)。startAt(schedulerdata.g

  • 我使用的是spring Batch4.0.0、spring Boot2.2.0、java JDK12.0.2、db sql server 2016。 null

  • 我通过jira触发器插件将jenkins作业设置为触发器<但是jenkins作业没有被触发,尽管它从JIRA那里获得了webhook事件。 我检查了如下内容。 Jenkins得到了网络钩子事件。我在詹金斯日志上检查了这个。 我试着为詹金斯设置各种方式,但都失败了。我想知道如何设置jira触发器 > 测试环境 吉拉:6.4.11 我的测试用例是。。。 Jenkins工作设置 选中:向JIRA添加注释

  • 我正在使用一个石英工作执行特定的任务。 如果另一个Main Job实例仍在运行,我想阻止调度器启动第二个Main Job实例...

  • 问题内容: 如何设置Jenkins作业以触发在变量/参数中动态定义的作业? 我的问题的伪代码: 生成操作“触发/调用在其他项目上生成”以及生成后操作“参数化触发器插件”和“生成其他项目”不允许在参数中定义作业名称。 我似乎没有将GroovyAxis插件与Build多重配置项目一起使用。常规代码似乎不在作业构建环境中运行,而是在作业配置保存期间运行。 我了解您可以通过脚本通过其build-start