Java Scheduler using Quartz CronTrigger – Schedule Cron Job Example
Download Quartz: http://quartz-scheduler.org/downloads/catalog
Maven Repository:
1 2 3 4 5 6 7 |
<dependencies> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.1.5</version> </dependency> </dependencies></xml> |
Quartz Job
1 2 3 4 5 6 7 8 9 |
import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class HelloJob implements Job { public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("Hello Quartz!"); } } |
Quartz CronTrigger (Run Job Every 5 Seconds)
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 28 29 30 31 32 33 34 35 36 |
import org.quartz.CronScheduleBuilder; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; public class CronTriggerExample { public static void main( String[] args ) throws Exception { // Quartz 1.6.3 //JobDetail job = new JobDetail(); //job.setName("dummyJobName"); //job.setJobClass(HelloJob.class); JobDetail job = JobBuilder.newJob(HelloJob.class) .withIdentity("dummyJobName", "group1").build(); // Quartz 1.6.3 //CronTrigger trigger = new CronTrigger(); //trigger.setName("dummyTriggerName"); //trigger.setCronExpression("0/5 * * * * ?"); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("dummyTriggerName", "group1") .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")) .build(); // schedule it Scheduler scheduler = new StdSchedulerFactory().getScheduler(); scheduler.start(); scheduler.scheduleJob(job, trigger); } } |