每隔Nth Hour / Day / Week / Month执行cron触发器的Quartz cron表达式

时间:2009-10-27 06:41:17

标签: quartz-scheduler scheduler crontrigger

我正在开发一个应用程序,使用户能够安排一些活动。 用户提供的输入是

  1. N的价值
  2. 小时/日/周/月之间的选项
  3. 开始日期
  4. 开始时间
  5. 我无法为每个重复间隔类型(即小时/日/周/月)获取正确的cron表达式,以便从开始日期计算触发时间。

2 个答案:

答案 0 :(得分:2)

Quartz文档建议使用SimpleTrigger http://www.quartz-scheduler.org/docs/cookbook/BiDailyTrigger.html,这是每隔一天的一个例子:

Trigger trigger = new SimpleTrigger("trigger1", "group1");
trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
// 24 hours * 60(minutes per hour) * 60(seconds per minute) * 1000(milliseconds per second)
trigger.setRepeatInterval(2L * 24L * 60L * 60L * 1000L);

请注意,您需要设置触发开始时间和失火规则。

答案 1 :(得分:0)

我认为如何配置触发器是一个很好的开始:

http://www.opensymphony.com/quartz/wikidocs/CronTriggers%20Tutorial.html