Quartz的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Quartz的使用相关的知识,希望对你有一定的参考价值。

  近期项目中有用到Quartz,故现在学习Quartz以满足工作需求。

  这里列出几个Quartz的Demo,循序渐进的学习Quartz,找出最方便好用的使用方式。

  方式一:Maven+Quartz本身Api,实现每隔两秒打印HelloWorld

    1、在pom.xml中加入Quartz的依赖:

    <dependency>    
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.3</version>
    </dependency>

   2、写出继承了Job的实现类

    package com.aweiyo.demo.helloQuartz;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    public class HelloJob implements Job {
    
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
    Date date = new Date();
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
    System.err.println("当前时间为:==========" + sf.format(date));
    System.out.println("hello quartz...");
    }
    
    }

    3、写出Scheduler。

            

    package com.aweiyo.demo.helloQuartz;        
    import org.quartz.JobBuilder;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.SchedulerFactory;
    import org.quartz.SimpleScheduleBuilder;
    import org.quartz.Trigger;
    import org.quartz.TriggerBuilder;
    import org.quartz.impl.StdSchedulerFactory;
    public class HelloScheduler {
    public static void main(String[] args) throws SchedulerException {
    // 创建JobDetail实例,将该实例与HelloJob绑定
    JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
    .withIdentity("aweiyoJob", "group1").build();
    // 创建一个Trigger实例
    Trigger trigger = TriggerBuilder.newTrigger()
    .withIdentity("aweiyoTrigger", "group1").startNow()
    .withSchedule(SimpleScheduleBuilder.simpleSchedule()
    .withIntervalInSeconds(2).repeatForever())
    .build();
    // 创建Scheduler实例
    SchedulerFactory sfact = new StdSchedulerFactory();
    Scheduler scheduler = sfact.getScheduler();
    scheduler.start();
    scheduler.scheduleJob(jobDetail, trigger);
    }
    }



    

以上是关于Quartz的使用的主要内容,如果未能解决你的问题,请参考以下文章

springboot整合quartz项目使用(含完整代码)

Hosted Services+Quartz实现定时任务调度

spring定时任务quartz

Quartz-定时任务框架

如何在 Windows 服务中使用 Quartz.Net 安排任务?

Spring 中使用Quartz实现任务调度