quartz.properties用于存放quart的配置
job.xml 用于存放定時(shí)任務(wù)job
將這兩個(gè)文件放在com.zte.quartzTest目錄底下即可
pom.xml
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <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> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version></dependency> </dependencies>
HelloJob.java
package com.zte.quartzTest;import java.text.SimpleDateFormat;import java.util.Date;import org.quartz.Job;import org.quartz.JobDetail;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.quartz.JobKey;public class HelloJob implements Job{ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { Date date = new Date(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("現(xiàn)在的時(shí)間:" sf.format(date)); JobDetail jobDetail = jobExecutionContext.getJobDetail(); JobKey jobKey = jobDetail.getKey(); String jobName = jobKey.getName(); String jobGroup = jobKey.getGroup(); System.out.println(jobName); System.out.println(jobGroup); }}
Test.java
package com.zte.quartzTest;import java.util.Date;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SimpleScheduleBuilder;import org.quartz.SimpleTrigger;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;public class Test{ public static void main(String[] args) throws SchedulerException, InterruptedException { try { StdSchedulerFactory schedulerFactory = new StdSchedulerFactory(); schedulerFactory.initialize("quartz.properties"); Scheduler scheduler = schedulerFactory.getScheduler(); scheduler.start(); System.out.println(scheduler.getJobGroupNames());// Thread.sleep(5L * 1000L); // scheduler.shutdown(true); } catch (Exception e) { e.printStackTrace(); } }}
quartz.properties
org.quartz.scheduler.instanceName: DefaultQuartzScheduler#org.quartz.scheduler.instanceid:AUTOorg.quartz.scheduler.rmi.export: falseorg.quartz.scheduler.rmi.proxy: falseorg.quartz.scheduler.wrapJobExecutionInUserTransaction: falseorg.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount: 10org.quartz.threadPool.threadPriority: 5org.quartz.jobStore.misfireThreshold: 60000org.quartz.jobStore.class: org.quartz.simpl.RAMJobStoreorg.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPluginorg.quartz.plugin.jobInitializer.fileNames = job2.xml org.quartz.plugin.jobInitializer.failOnFileNotFound = trueorg.quartz.plugin.jobInitializer.scanInterval = 10
job.xml
<?xml version='1.0' encoding='utf-8'?> <job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd" version="2.0"> <schedule> <!-- job1 --> <job> <name>MyJob1</name> <group>group1</group> <description> 通過配置文件來執(zhí)行job任務(wù) </description> <job-class> com.zte.quartzTest.HelloJob </job-class> <durability>false</durability> <recover>false</recover> </job> <trigger> <cron> <name>trigger</name> <group>trigger1</group> <job-name>MyJob1</job-name> <job-group>group1</job-group> <cron-expression>0/5 * * * * ?</cron-expression><!-- 每5秒執(zhí)行一次--> </cron> </trigger> </schedule></job-scheduling-data>
來源:https://www.icode9.com/content-4-284951.html