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

如何确保spring quartz作业按顺序执行?

邴英毅
2023-03-14

我有以下触发器配置

SimpleTrigger trigger = TriggerBuilder.newTrigger().startNow()
    .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(5)).build();

我的工作可能超过5秒。

可行吗?

谢谢

共有1个答案

严正诚
2023-03-14

尝试使用此批注@disallowConcurrentExecution.html。这不应允许执行作业的同一实例https://www.quartz-scheduler.org/api/2.1.7/org/quartz/disallowConcurrentExecution.html

 类似资料:
  • 给定打印字母a-C的三个线程1-3,如何保证输出顺序? 我希望线程的输出是“abcabc”

  • 在我的示例项目中,我尝试在应用程序启动时做一些初始化工作。 Java 16 Vertx 4.1.0 检查完整的项目代码。 但它并没有像预期的那样工作。 没有像Reactor那样的方法 我找不到一种有效的方法来按顺序执行它们。 更新时间: 我按照建议更改了代码。 并在控制台中获取以下日志。 如何在输入打印结果之前确保插入块中的所有未来都已完成。

  • 问题内容: 给定以下函数调用: 的执行顺序和未指定,所以可以之前被调用或之前在。 是否指定函数参数表达式的执行顺序或未指定的顺序? 问题答案: 从Java语言规范(关于表达式)中: 15.7.4从左到右评估参数列表 在方法或构造函数调用或类实例创建表达式中,参数表达式可能出现在括号内,以逗号分隔。每个参数表达式似乎都在其右侧任何参数表达式的任何部分之前被完全评估。

  • 问题内容: 我有一个Java程序,每20秒从Spring Qquartz执行一次。有时只需几秒钟即可执行,但是随着数据变大,我确信它会运行20秒或更长时间。 在一个实例仍在执行时,如何防止Quartz触发/触发作业?发射2个在数据库上执行相同操作的作业效果不佳。有没有办法可以进行某种同步? 问题答案: 如果您需要做的是每20秒发射一次,则Quartz严重过度使用。对于这项工作,应该足够了。 的还提

  • 问题内容: 我有一系列的诺言,需要按顺序运行。 调用RSVP.all将并行执行它们: 但是,如何依次运行它们? 我可以像这样手动堆叠它们 但是问题在于承诺的数量各不相同,并且承诺的数组是动态构建的。 问题答案: 如果您已经将它们放在数组中,那么它们已经在执行。如果您有一个承诺,那么它已经在执行。这与promise无关(即,在方法方面,它们不像C#一样)。什么都不执行,只会返回一个承诺。 如果您有一

  • 我在火花流应用程序中从kafka读取数据并执行两个操作 将dstream插入hbase表A 更新另一个hbase表B 我想确保对于dstream中的每个rdd,插入hbase表A将在对hbase表B进行更新操作之前发生(每个rdd依次发生上述两个动作) 如何在火花流应用中实现这一点