1.依赖
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.3.0</version> </dependency>2.任务类
public class PublicityJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { System.out.println("1111"); } }3.配置文件quartz.properties
org.quartz.scheduler.instanceName = MyScheduler org.quartz.threadPool.threadCount = 3 org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore4.测试类
public class QuartzTest { public static void main(String[] args) { try { // Grab the Scheduler instance from the Factory Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); // and start it off scheduler.start(); // define the job and tie it to our HelloJob class JobDetail job = newJob(PublicityJob.class) .withIdentity("job1", "group1") .build(); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("trigger1", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(3) .repeatForever()) .build(); scheduler.scheduleJob(job, trigger); } catch (SchedulerException se) { se.printStackTrace(); } } }5.哦了
1111
10:27:24.955 [MyScheduler_QuartzSchedulerThread] DEBUG o.q.simpl.PropertySettingJobFactory - Producing instance of Job 'group1.job1', class=com.ancun.tdbank.manage.system.task.PublicityJob
10:27:24.956 [MyScheduler_Worker-1] DEBUG org.quartz.core.JobRunShell - Calling execute on job group1.job1
10:27:24.956 [MyScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 1 triggers
1111
6.为什么要分组
作业和触发器在使用Quartz调度程序时得到识别键。作业和触发器的键(JobKey和触发器)允许它们被放置到“组”中,这对组织您的工作和触发“报告作业”和“维护工作”等类别非常有用。作业或触发器的键的名称部分必须在组中是唯一的,或者换句话说,作业或触发器的完整键(或标识符)是名称和组的复合。