我需要构建一个Cron Expression来执行一个Job。
我尝试使用以下内容:
private String generateCronExpressionNow(final String seconds,final String minutes, final String hours, final String dayOfMonth, final String month, final String dayOfWeek, final String year) {
return String.format("%1$s %2$s %3$s %4$s %5$s %6$s %7$s",seconds+"/2",minutes, hours, dayOfMonth, month, dayOfWeek,year);
}
Called the above method using:
generateCronExpressionNow(Integer.toString(date.getSeconds()),Integer.toString(date.getMinutes()),
Integer.toString(date.getHours()),Integer.toString(date.getDate()), Integer.toString(date.getMonth()+1), "?", Integer.toString(date.getYear()+1900)
但这似乎反复运行...多次。请帮忙。
同时提到java.lang.RuntimeException: CronExpression '4 27 11 ? 8 ? 2014' is invalid,
答案 0 :(得分:1)
根据Quartz教程,SimpleTrigger
旨在用于“如果您需要在特定时刻执行一次作业”。这个用例还有一个例子http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-05:
SimpleTrigger trigger = (SimpleTrigger) newTrigger()
.withIdentity("trigger1", "group1")
.startAt(myStartTime) // some Date
.forJob("job1", "group1") // identify job with name, group strings
.build();
...或者您是否有特定原因要在此处使用cron表达式?