• Quartz入门案例


    Quartz依赖的jar包,pom如下:

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

    Java代码程序入口如下如下:

     1 package com.test.quartz;
     2 
     3 import java.util.Date;
     4 
     5 import org.quartz.CronScheduleBuilder;
     6 import org.quartz.JobBuilder;
     7 import org.quartz.JobDetail;
     8 import org.quartz.Scheduler;
     9 import org.quartz.Trigger;
    10 import org.quartz.TriggerBuilder;
    11 import org.quartz.impl.StdSchedulerFactory;
    12 
    13 
    14 /**
    15  * 任务调度入口类
    16  * @author vince
    17  * @version 1.0
    18  */
    19 public class ScheduleEntrance {
    20     
    21     //定时任务启动入口
    22     public static void main(String[] args) {
    23         try {
    24             
    25             //创建scheduler
    26             Scheduler scheduler = new StdSchedulerFactory().getScheduler();
    27             
    28             //当前时间
    29             long time=  System.currentTimeMillis() + 3 * 1000L; //几秒后启动任务
    30             Date startTime = new Date(time);
    31             
    32             //创建一个Trigger
    33             Trigger trigger = TriggerBuilder.newTrigger()
    34                     .withDescription("This is a DS trigger.")
    35                     .withIdentity("DSTrigger", "DSTriggerGroup")
    36                     .startAt(startTime)
    37                     .withSchedule(CronScheduleBuilder.cronSchedule("*/5 * * * * ?"))
    38                     .build();
    39             
    40             //定义一个job
    41             JobDetail jobDetail = JobBuilder.newJob(DSJob.class)
    42                     .withDescription("This is a DS job.")
    43                     .withIdentity("DSJob", "DSGroup")
    44                     .build();
    45             
    46             //注册任务和定时器
    47             scheduler.scheduleJob(jobDetail, trigger);
    48             
    49             //启动调度器
    50             scheduler.start();
    51             
    52         } catch (Exception e) {
    53             e.printStackTrace();
    54         }
    55     }
    56     
    57 }

    Job类如下:

     1 package com.test.quartz;
     2 
     3 
     4 import org.quartz.Job;
     5 import org.quartz.JobExecutionContext;
     6 import org.quartz.JobExecutionException;
     7 
     8 
     9 /**
    10  * 数据同步任务类
    11  * @author vince
    12  * @version 1.0
    13  */
    14 public class DSJob implements Job{
    15     
    16     @Override
    17     public void execute(JobExecutionContext arg0) throws JobExecutionException {
    18         
    19         System.out.println("------- Hello Quartz ! ------");
    20         
    21     }
    22 
    23 }

    执行结果:

  • 相关阅读:
    java 服务端设置跨域
    Git 使用常用命令
    关于全局变量使用时编译问题
    从阿里云读取文档到后台
    kindeditor编辑器
    Java后台Excel表导出
    AVAudioPlayer
    网络第三节——NSURLSession
    KVC 和 KVO
    网络第二节——AFNworking
  • 原文地址:https://www.cnblogs.com/Vince-blogs/p/8819628.html
Copyright © 2020-2023  润新知