您可以提供表達式來配置調度程序在備選週日執行。Quartz Scheduler:表達式來配置調度程序在備選週中執行
替代地,我試圖用所述表達0 0 6 ? * 1#2,1#4
在第二和第四星期日運行,但它未能觸發預先
感謝。
您可以提供表達式來配置調度程序在備選週日執行。Quartz Scheduler:表達式來配置調度程序在備選週中執行
替代地,我試圖用所述表達0 0 6 ? * 1#2,1#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
因此,它不落實;不管你是否支持Quartz來支持這個用例,或者你可以使用2個不同的觸發器,一個用於1#2(第二個星期日),另一個用於2#4(第四個星期日)
注意:石英,2.2
感謝重播Dahanne。但在我身邊,沒有任何例外。它可以在同一個月內完全運行兩週,但在改變之後它不會被解僱。我找到了一個鏈接http://stackoverflow.com/questions/2819523/does-this-cron-expression-mean-every-other-sunday。這與我的要求類似。但也沒有解決辦法。任何人都可以回答這個問題。 – gajjelli
你在說什麼調度器?請準確地說,我們沒有水晶球:) – SirDarius
對不起..這是一個石英調度器 – gajjelli
或者我試着用表達式「0 0 6?* 1#2,1#4」跑在第二和第四個星期天,但是它無法觸發。 – gajjelli