我正在使用一个使用Java的Quartz调度器。即使计划的时间已经过了,它也不会抛出调度器异常,而是现在运行作业。例如,我确认了一个作业是10月10日,今天是10月30日,如果我保存信息,它现在就运行作业本身
此外,我还使用JobListener实现手动触发一个作业,以便以后在同一时间点运行其他作业的情况下对其进行调度。
请帮忙。
此行为在触发器失火说明中配置。默认指令取决于触发器类型。您可以在ScheduleBuilder中设置misfire指令:
Trigger trigger = newTrigger()
.withIdentity("myTrigger", "group1")
.startAt(new Date(2014,10,10))
.withSchedule(withIntervalInMonths(1)
.withMisfireHandlingInstructionDoNothing())
.build();
我知道这对terracotta的人来说是不公平的,但是有人尝试过使用Hazelcast在集群环境中使用计划作业吗? 我能想象到的最简单的实现是以下架构: 全局黑泽尔铸造锁,用于确保只有一台服务器启动了 Quartz 配置。 以分布式任务的形式运行实际任务。(这可以在以后完成,目前繁重的计划任务将需要处理触发分布式任务) 一旦持有锁的服务器关闭,另一台服务器就会获得锁。 我相信对于已经拥有Hazel
和日志: 我在01.11.2013T23:19:26.000的作业,每隔2秒 我在01.11.2013T23:19:27.000的作业,每3秒 我在01.11.2013T23:19:28.000的作业,每隔2秒 我的工作时间01.11.2013t23:19:0.000,每隔2秒 我在01.11.2013t23:19:30.001的作业,每3秒 我的作业在01.11.2013T23:19:32.00
将库升级到和(查找FTP库中可能的bug)我设法持续了3周 我有一个要监视,该作业表示触发器状态为。应用程序服务器不重用阻塞进程的 我没有找到关于Quartz这类问题的文档,因此我怀疑是FTP库中的bug干扰了Quartz启动的线程,例如的使用
使用spring 2.5和quartz 1.6.2,我一直试图每分钟触发一个计划任务 我的xml文件是: 我的代码是:
我需要在工作日的特定时间触发一份工作。这些工作日也是动态的,应该从db获取。此外,对于特定的计数,作业应该触发或重复自己。假设一个工作j应该在每一个星期一,星期三,星期五触发,重复计数15即3*5=15,所以它应该在接下来的3周内触发。 我尝试使用如下所示的cronexpression,但无法找到如何在特定计数后阻止作业触发。 请给我一些建议,这样我就能达到我所需要的。