代わりの日曜日に実行するようにスケジューラを構成する式を提供してください。
または、第 2 および第 4 日曜日に実行する式を試してみました0 0 6 ? * 1#2,1#4
が、トリガーに失敗しました
前もって感謝します。
代わりの日曜日に実行するようにスケジューラを構成する式を提供してください。
または、第 2 および第 4 日曜日に実行する式を試してみました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 にパッチを適用するか、または 1#2 (第 2 日曜日) 用と 2#4 (第 4 日曜日) 用の 2 つの異なるトリガーを使用できます。
注:最新のクォーツ、2.2を使用しました