Quartz Scheduler Example Programs and Sample Code : Quartz Code Snippets : How-To: Create a Trigger that Executes Every 2 Weeks
How-To: Create a Trigger that Executes Every 2 Weeks
As with a trigger meant to fire every two days, CronTrigger will not work for this schedule. (For more information about this issue, see How-To: Create a Trigger that Executes Every 2 Days.) You need to use a SimpleTrigger or CalendarIntervalTrigger:
Using SimpleTrigger
Create a SimpleTrigger that executes 3:00 PM tomorrow, and then every two weeks (14 * 24 hours) after that.
Note:  
Be aware that this trigger might not always fire at 3:00 PM, because adding (14 * 24) hours on days when daylight savings time shifts can result in an execution time of 2:00 PM or 4:00 PM, depending upon whether the 3:00 PM time was started during DST or standard time.
trigger = newTrigger()
.withIdentity("trigger3", "group1")
.startAt(tomorrowAt(15, 0, 0) // first fire time 15:00:00 tomorrow
.withSchedule(simpleSchedule()
           .withIntervalInHours(14 * 24)
           // interval is actually set at 14 * 24 hours' worth of milliseconds
           .repeatForever())
.build();
Using CalendarIntervalTrigger
trigger = newTrigger()
.withIdentity("trigger3", "group1")
.startAt(tomorrowAt(15, 0, 0) // 15:00:00 tomorrow
.withSchedule(calendarIntervalSchedule()
           .withIntervalInWeeks(2)) // interval is set in calendar weeks
.build();
Copyright © 2010-2015 Software AG, Darmstadt, Germany.

Product Logo |   Feedback