quartz定时器入门示例

来源:互联网 发布:淘宝店如何上架宝贝 编辑:程序博客网 时间:2024/03/19 11:21
  • 1.首先创建一个作业(Job) 代码如下:
package quartz.yl;import java.text.SimpleDateFormat;import java.util.Date;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class HelloQuartz implements Job{    private SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    @Override    public void execute(JobExecutionContext arg0) throws JobExecutionException {        System.out.println(sdf.format(new Date())+"  hello Quartz");    }}
  • 2.创建一个调度器(Schedule) 来调度作业。代码如下:
package quartz.yl;import java.text.SimpleDateFormat;import org.quartz.CronScheduleBuilder;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SchedulerFactory;import org.quartz.Trigger;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;public class HelloQuartzTest {//  @Test    public void test1() throws SchedulerException, InterruptedException {           SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        //创建调度器工厂        SchedulerFactory scheFac = new StdSchedulerFactory();        //获取调度器        Scheduler sched=scheFac.getScheduler();        //获取job实例        JobDetail job = JobBuilder.newJob(HelloQuartz.class).withIdentity("job1","group1").build();        Trigger trigger =TriggerBuilder.newTrigger().withIdentity("trriger1","group1")                .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ? "))                .startNow().build();        sched.scheduleJob(job, trigger);        //启动调度        sched.start();        Thread.sleep(65L * 1000L);        sched.shutdown();        System.out.println(job.getKey() +" "+trigger.getKey()+ " 定时任务结束: ");     }    public static void main(String[] args) throws SchedulerException, InterruptedException {        HelloQuartzTest h =new HelloQuartzTest();        h.test1();    }}

运行结果如下:
这里写图片描述

上述代码中需要的jar 可以下载jar包 ,也可以用maven 下载。如果用maven,pom文件参考下面代码:

<properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <springversion>4.3.7.RELEASE</springversion>    <quartz.version>2.2.1</quartz.version>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>    <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-beans</artifactId>            <version>${springversion}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>${springversion}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context-support</artifactId>            <version>${springversion}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>${springversion}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-web</artifactId>            <version>${springversion}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-tx</artifactId>            <version>${springversion}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-jdbc</artifactId>            <version>${springversion}</version>        </dependency>        <!-- sheduler -->        <dependency>            <groupId>org.quartz-scheduler</groupId>            <artifactId>quartz</artifactId>            <version>${quartz.version}</version>        </dependency>        <dependency>            <groupId>commons-lang</groupId>            <artifactId>commons-lang</artifactId>            <version>2.6</version>        </dependency>  </dependencies>