Quartz kütüphanesi kullanan Job‘larımız varsa ve o Job’ları tekrar zamanlamak (rescheduling) istiyorsak ilk olarak varolan Cron‘u alıp ardından yeni bir CronTrigger oluşturmamız gerekmektedir.
Örnek kod aşağıdaki gibidir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package org.yalcin.quartz.rescheduling; /** * @author yyenigun * */ public class CronRescheduler{ public void rescheduleCron(org.quartz.impl.StdScheduler stdSchedular, Supplier supplier, String triggerName) { CronTrigger cronTrigger = (CronTrigger) stdSchedular.getTrigger(triggerName, groupName); String newCronExpression = "0 20 9 * * ?" try { // Creating a new cron trigger CronTrigger updatedCronTrigger = new CronTrigger(); updatedCronTrigger.setJobName(cronTrigger.getJobName()); updatedCronTrigger.setName(triggerName); updatedCronTrigger.setCronExpression(newCronExpression); // Reschedule the job with updated cron expression stdSchedular.rescheduleJob(triggerName, groupName, updatedCronTrigger); } catch (ParseException e) { e.printStackTrace(); } } } |