1.导包
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz-jobs -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
2.创建一个类QuartzMain.class,添加
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import com.example.QuartzJob;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class QuartzMain {
private static final Logger logger = LogManager.getLogger(QuartzMain.class);
public static void main(String[] args) {
String quartzTime = "";
try {
//读取配置文件
Properties pro = new Properties();
InputStream in = Main.class.getResourceAsStream("/config.properties");
pro.load(in);
quartzTime = pro.getProperty("quartz.cron");
in.close();
} catch (IOException e) {
logger.error("读取文件失败");
e.printStackTrace();
}
//jobDetail
JobDetail jobDetail = JobBuilder.newJob(QuartzJob.class).withIdentity("cronJob").build();
//cronTrigger
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("cronTrigger").withSchedule(CronScheduleBuilder.cronSchedule(quartzTime)).build();
//Scheduler实例
StdSchedulerFactory stdSchedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
scheduler = stdSchedulerFactory.getScheduler();
scheduler.start();
scheduler.scheduleJob(jobDetail, cronTrigger);
} catch (SchedulerException e) {
e.printStackTrace();
logger.error("启动定时任务失败!");
}
}
}
3.创建config.properties,添加
#cron表达式 表示每分每秒 网站在线生成 http://cron.qqe2.com/
quartz.cron=0/10 * * * * ?
4.创建QuartzJob.class,添加
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class QuartzJob implements Job {
/**
* 运行定时的方法
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
// todo定时任务逻辑
}
}
3.生成jar执行即可