1. Import the package
pom.xml
<!--quartz--> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
2. Executive body
package com.example.demo.Quartz; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * Task execution class */ public class QuartzJob implements Job { @Override public void execute(JobExecutionContext content) throws JobExecutionException { System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); JobDataMap dataMap = content.getJobDetail (). GetJobDataMap (); String param = dataMap.getString("param"); System.out.println("The parameter passed is ="+param ); } }
3. Create tasks
package com.example.demo.Quartz; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; public class QuartzManager { //create scheduler public static Scheduler getScheduler() throws SchedulerException { SchedulerFactory schedulerFactory = new StdSchedulerFactory(); return schedulerFactory.getScheduler(); } public static void schedulerJob() throws SchedulerException{ //create task JobDetail jobDetail = JobBuilder.newJob(QuartzJob.class).withIdentity("job1", "group1").build(); jobDetail.getJobDataMap().put("param","ooo"); //Create trigger to execute every 3 seconds Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group3") .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(3).repeatForever()) .build(); Scheduler scheduler = getScheduler(); // put the task and its trigger into the scheduler scheduler.scheduleJob(jobDetail, trigger); //The scheduler starts scheduling tasks scheduler.start(); } public static void main(String[] args) throws SchedulerException { QuartzManager mainScheduler = new QuartzManager(); mainScheduler.schedulerJob(); } }