既然你能找到这里,就说明你对QuartZ有了基本的了解,至少……你知道它是用来干嘛的,并且你正需要用到它:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency>OK,在pom.xml中引入QuartZ,然后我们先通过一个Demo来了解一下它的工作原理:
新建一个类,实现Job接口,在execute()方法中告诉它你要做什么新建一个类,在主函数中定义Scheduler的工作流程Run Code1. ScheduleTask.java
public class ScheduleTask implements Job { //Logger用于打印日志,如果不想引入,可以使用System.out.println() Logger logger = Logger.getLogger(getClass()); @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { logger.error("执行调度任务"); } }2. ScheduleUtils.java
public class ScheduleUtils { Logger logger = Logger.getLogger(getClass()); public static void main(String[] args){ try { //获取任务实例 Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.start(); //具体任务 JobDetail job = JobBuilder .withIdentity("job1","group1") .build(); //触发时间点,这里使用cron表达式,每五秒执行一次 CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder .cronSchedule("*/5 * * * * ?"); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("trigger1","group1") .withSchedule(cronScheduleBuilder).build(); //交由Schedular触发 scheduler.scheduleJob(job,trigger); } catch (SchedulerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }3. Run Code(直接在ScheduleUtils中执行主函数即可)
2017-05-04 21:57:50.014 schedule.ScheduleTask - 执行调度任务 2017-05-04 21:57:55.008 schedule.ScheduleTask - 执行调度任务 2017-05-04 21:58:00.015 schedule.ScheduleTask - 执行调度任务 2017-05-04 21:58:05.004 schedule.ScheduleTask - 执行调度任务是的,如此简单的Demo,无需配置文件,无需复杂流程,所以肯定也实现不了你的需求吧,别慌,往下看