Java Quartz调度程序:用于配置调度程序以在备用周内执行的表达式
您能否提供表达式,以将调度程序配置为在备用星期日执行Java Quartz调度程序:用于配置调度程序以在备用周内执行的表达式,java,quartz-scheduler,Java,Quartz Scheduler,您能否提供表达式,以将调度程序配置为在备用星期日执行 或者,我尝试使用表达式06?*1#2,1#4将在第2和第4个周日运行,但无法触发 提前感谢。尝试一下你的例子 JobDetail job = newJob(SimpleJob.class) .withIdentity("job1", "group1") .build(); CronTrigger trigger = newTrigger() .withIdentity("trigger1",
或者,我尝试使用表达式
06?*1#2,1#4
将在第2和第4个周日运行,但无法触发
提前感谢。尝试一下你的例子
JobDetail job = newJob(SimpleJob.class)
.withIdentity("job1", "group1")
.build();
CronTrigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.withSchedule(cronSchedule("0 0 6 ? * 1#2,1#4"))
.build();
Date ft = sched.scheduleJob(job, trigger);
sched.start();
Date nextFireTime = trigger.getNextFireTime();
System.out.println(nextFireTime);
我得到了以下例外:
Exception in thread "main" java.lang.RuntimeException:
CronExpression '0 0 6 ? * 1#2,1#4' is invalid,.
at org.quartz.CronScheduleBuilder.cronSchedule(CronScheduleBuilder.java:105)
at org.quartz.examples.example3.CronTriggerExample.run(CronTriggerExample.java:66)
at org.quartz.examples.example3.CronTriggerExample.main(CronTriggerExample.java:110)
Caused by: java.text.ParseException: Support for specifying multiple "nth" days is not imlemented.
at org.quartz.CronExpression.buildExpression(CronExpression.java:483)
at org.quartz.CronExpression.<init>(CronExpression.java:276)
at org.quartz.CronScheduleBuilder.cronSchedule(CronScheduleBuilder.java:102)
... 2 more
线程“main”java.lang.RuntimeException中的异常:
CronExpression“0 6”?*1#2,1#4'无效,。
位于org.quartz.CronScheduleBuilder.cronSchedule(CronScheduleBuilder.java:105)
位于org.quartz.examples.example3.CronTriggerExample.run(CronTriggerExample.java:66)
位于org.quartz.examples.example3.CronTriggerExample.main(CronTriggerExample.java:110)
原因:java.text.ParseException:未实现对指定多个“n”天的支持。
位于org.quartz.CronExpression.buildExpression(CronExpression.java:483)
位于org.quartz.CronExpression.(CronExpression.java:276)
位于org.quartz.CronScheduleBuilder.cronSchedule(CronScheduleBuilder.java:102)
... 还有两个
因此,它没有得到实施;无论您是修补Quartz以支持此用例,还是可以使用两个不同的触发器,一个用于1#2(第二个星期日),另一个用于2#4(第四个星期日)
注意:我使用了最新的quartz,2.2你在说什么调度程序?请准确地说,我们没有得到水晶球:)对不起……这是一个石英时间表。我用“0 0 6?*1 2,1 4”在第二和第四个星期日尝试运行,但未能触发。感谢重播Dahanne。但在我这边也没有例外。它在同一个月内连续两周完美运行,但在更换当月后,它没有点火。我找到了一个链接。这与我的要求相似。但也没有解决办法。谁能回答这个问题。