本文介绍了Quartz - 每两周在一周的几天和时间安排作业的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要创建工作,它将:
I need to create Job that will :
- 从 2012 年 12 月 20 日开始
- 结束日期 = 12/31/2017
- 将在周日和周一每 2 周发生一次
- 下午 5 点开火.
这个 cron 表达式有效吗?
is this cron expression valid?
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;请指教.
推荐答案我建议您根据 cron 表达式进行单元测试.感谢 Van de Voorde Toni,您可以基于此代码,并使用它来验证nextValidTimeAfter"是否符合您的期望:
I suggest, that you make a unit test based on your cron expression. With kudos to Van de Voorde Toni, you can base it on this code, and use it to verify that the "nextValidTimeAfter" matches your expectation:
import java.text.ParseException; import java.util.Date; import org.quartz.CronExpression; public class CronTester { public static void main(String[] args) throws ParseException { final String expression = "* * 17 0 0/2 *,SUN,MON"; final CronExpression cronExpression = new CronExpression(expression); final Date nextValidDate1 = cronExpression.getNextValidTimeAfter(new Date()); final Date nextValidDate2 = cronExpression.getNextValidTimeAfter(nextValidDate1); System.out.println(nextValidDate1); System.out.println(nextValidDate2); } }更多推荐
Quartz
发布评论