(一)Quartz2.2.1 简单例子

转载至http://blog.csdn.net/a4307515/article/details/46985533

1.关键接口

  • Scheduler,任务调度的API;它可以用来启动或者终止任务等。
  • Job,具体的任务接口;通过实现它,来让任务调度执行具体的任务。
  • JobDetail ,用来定义Job的实例。
  • Trigger ,触发器用来定义给定的Job应该如何执行。
  • JobBuilder ,用来定义/构建Jobdetail实例。
  • TriggerBuilder ,用来定义/构建Trigger实例。

2.简单例子

下面是一个简单的例子,创建一个简单的任务调度。

创建一个Job,名为HelloJob:

package me.shijunjie.quartz;

import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class QuartzTestJob implements Job {

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("Hello, Quartz! - executing its JOB at "+ 
                new Date() + " by " + context.getTrigger().getJobKey().getName());
    }

}

实现Job接口中的execute方法,这个方法中是我们需要任务调度执行的具体内容

首先,创建JobDetail:

JobDetail jobDetail = JobBuilder.newJob(QuartzTestJob.class)
                                    .withIdentity("testQuartzJob", "group1").build();

然后,创建Trigger:

Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
                            .startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule()
                                                        .withIntervalInSeconds(5).withRepeatCount(3)).build();

最后,获取Scheduler,并启动任务:  

SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
//添加job,以及其关联的trigger
scheduler.scheduleJob(jobDetail, trigger);
//启动job
scheduler.start();

运行结果如下

  

原文地址:https://www.cnblogs.com/s648667069/p/6612142.html