Tag: quartz scheduler

Quartz – 在一周和几天的某一天每两周安排一次工作

我需要创建Job,它将: 2012年12月20日开始 endDate = 12/31/2017 将在周日和周一每两周举行一次 下午5点开火。 这个cron表达式有效吗? Date start = 12/20/2012; Date endDate = 12/31/2017; SimpleTrigger trigger = newTrigger() .withIdentity(“trigger3”, “group1”) .startAt(startDate) .withSchedule(cronSchedule(“* * 17 0 0/2 *,SUN,MON”).build()) .endAt(endDate) .build; 请指教。

如何在运行时更改Spring的@Scheduled fixedDelay

我需要以固定的间隔运行批处理作业,并且能够在运行时更改此批处理作业的时间。 为此,我遇到了Spring框架下提供的@Scheduled注释。 但我不确定如何在运行时更改fixedDelay的值。 我做了一些谷歌搜索但没有找到任何有用的东西。

如何在Java servlet上下文中获取和设置全局对象

我想知道是否有人可以建议:我有一个场景,由Quartz运行的预定作业将每小时更新一个对象的arraylist。 但我需要这些对象的arraylist对Tomcat创建的所有会话都是可见的。 所以我想的是我每隔一小时从运行的Quartz作业中的某个地方写这个对象,这样每个会话都可以访问它。 任何人都可以说这可能会达到最佳效果吗? 我想知道从Quartz作业写入servlet上下文的对象? 另一种方法是让每个会话从数据库表中填充对象的arraylist。 谢谢 摩根先生。

Quartz Java恢复工作多次使用它

对于我的应用程序,我创建作业并使用CronTriggers安排它们。 每个作业只有一个触发器,作业名称和触发器名称都相同。 没有工作共享触发器。 现在当我创建像这样的“0/1 * * * *?”的cron触发器时 它指示作业每秒执行一次,它运行得很好。 当我第一次暂停工作时,问题就出现了: scheduler.pauseJob(jobName, jobGroup); 然后让我们说50秒后恢复工作: scheduler.resumeJob(jobName, jobGroup); 我所看到的是,在这50秒内,作业没有按要求执行。 但是当我恢复工作的那一刻,我同时看到了50份执行工作! 我认为这是由于失火指令的默认设置,但即使在创建时将触发器的失火指示设置为: trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING); 同样的事情发生了。 任何人都可以建议一种解决方法吗?