需要考虑的是,标准的有效cron表达式将始终引用将来的有效时间。需要说明的是,Quartz
cron表达式可能包含一个可选的Year字段,该字段可以是过去的以及将来的。
要检查表达式的有效性,您可以构建一个
Cronexpression实例,然后要求其提供下一个有效的将来时间。a
null表示该表达式没有有效的将来时间。这是一个快速的单元测试示例:
@Testpublic void expressionTest() { Date date; Cronexpression exp; // Run every 10 minutes and 30 seconds in the year 2002 String a = "30 */10 * * * ? 2002"; // Run every 10 minutes and 30 seconds of any year String b = "30 */10 * * * ? *"; try { exp = new Cronexpression(a); date = exp.getNextValidTimeAfter(new Date()); System.out.println(date); // null exp = new Cronexpression(b); date = exp.getNextValidTimeAfter(new Date()); System.out.println(date); // Tue Nov 04 19:20:30 PST 2014 } catch (ParseException e) { e.printStackTrace(); }}这是Quartz API 的链接
Cronexpression。



