Trigger interface provides 'getFireTimeAfter' method, it
is used to get the next time at which the Trigger will fire, after the given
time.
For example, below statements return tomorrows next fire
time of the trigger.
Date today = new Date();
Date tomorrow = new Date(today.getTime() + (1000 * 60 *
60 * 24));
Date nextFireTime = trigger1.getFireTimeAfter(tomorrow);
System.out.println("Next fire time : " + nextFireTime);
Find the below working application.
PrintJob.java
package com.sample.jobs; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class PrintJob implements Job { public void execute(JobExecutionContext jec) throws JobExecutionException { System.out.println("Printing....."); } }
QuartzSchedulerEx.java
package com.sample.app; import java.util.Date; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.SimpleTrigger; import org.quartz.impl.JobDetailImpl; import org.quartz.impl.StdSchedulerFactory; import org.quartz.impl.triggers.SimpleTriggerImpl; import com.sample.jobs.PrintJob; public class QuartzSchedulerEx { public static void main(String args[]) throws SchedulerException, InterruptedException { // Initiate a Schedule Factory SchedulerFactory schedulerFactory = new StdSchedulerFactory(); // Retrieve a scheduler from schedule factory Scheduler scheduler = schedulerFactory.getScheduler(); // Creating JobDetailImpl and link to our Job class JobDetailImpl printJobDetails = new JobDetailImpl(); printJobDetails.setJobClass(PrintJob.class); printJobDetails.setName("PrintJob"); printJobDetails.setGroup("PrintMessages"); // Creating schedule time with trigger SimpleTriggerImpl trigger1 = new SimpleTriggerImpl(); trigger1.setStartTime(new Date(System.currentTimeMillis() + 500)); trigger1.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY); trigger1.setRepeatInterval(3000); trigger1.setName("First Trigger"); trigger1.setDescription("Job executes every 1 second"); // Start scheduler scheduler.start(); // Schedule the jobs using triggers scheduler.scheduleJob(printJobDetails, trigger1); Date today = new Date(); Date tomorrow = new Date(today.getTime() + (1000 * 60 * 60 * 24)); Date nextFireTime = trigger1.getFireTimeAfter(tomorrow); System.out.println("Next fire time : " + nextFireTime); } }
You can able to see below messages in console.
Output
Next fire time : Fri Jul 20 10:47:26 IST 2018
Printing.....
Printing.....
Printing.....
Printing.....
No comments:
Post a Comment