核心代码如下:

public class SchedulerTest {
public static void main(String[] args) {
//创建schedulerFactory类
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
//第一步:通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
//第二步:创建jobDetail实例,绑定Job实现类
   //指明job的名称,所在组的名称,以及绑定job类--这里是要定时执行的那个类,需要实现org.quartz.Job接口
JobDetail job=JobBuilder.newJob(MyJob.class)
              .withIdentity("job1", "jgroup1").build();
   //第三步:定义调度触发规则:
   //规则一:使用simpleTrigger规则--一般用于循环执行
   /* Trigger trigger=TriggerBuilder.newTrigger()
               .withIdentity("simpleTrigger", "triggerGroup")
               //间隔时间
    .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1)
               .withRepeatCount(8)) //运行次数
     .startNow().build(); */
   //规则二:使用cornTrigger规则 每天10点42分 --一般由用于定时执行
Trigger trigger=TriggerBuilder.newTrigger()
              .withIdentity("simpleTrigger", "triggerGroup")
               //这个规则下面解释
   .withSchedule(CronScheduleBuilder.cronSchedule("0 42 10 * * ? *"))
   .startNow().build();
   //第四步:把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger);
   //最后第五步:启动调度
scheduler.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
 

规则一:使用simpleTrigger的详解

规则一用的是SimpleScheduleBuilder去设置,主要设置2个参数间隔时间运行次数

1.间隔时间的设置方法如下:

可以按照毫秒,秒 ,分钟,小时去配置;

2.运行次数的设置方法如下:

withRepeatCount()设置任务需要执行的总次数。

下边那个repeatForever()这个方法单独说一下,这个方法会把repeatCount设置为-1,意思是一致循环下去。

3.间隔时间和运行次数一起设置:

这些方法看方法名字差不多就知道什么意思了,比如repeatMinutelyForever(10) 每隔10分钟,一致循环执行下去。

这些方法内部基本调用的是前面2个方法,具体解释点进去看注释吧。

规则二:使用cornTrigger的详解

字段     允许值         允许的特殊字符    
秒       0-59            , - * /    
分       0-59            , - * /    
小时      0-23            , - * /    
日期      1-31          , - * ? / L W C    
月份    1-12 或者 JAN-DEC       , - * /    
星期    1-7 或者 SUN-SAT      , - * ? / L C #    
年(可选)    留空, 1970-2099      , - * /    
 

特殊字符解释:

*    表示所有值;    
?    表示未说明的值,即不关心它为何值;    
-    表示一个指定的范围;    
,    表示附加一个可能值;    
/    符号前表示开始时间,符号后表示每次递增的值;
 

表达式   意义

"0 0 12 * * ?"        每天12点触发    
--------这三个设置一样的---------------
"0 15 10 ? * *"      每天10:15触发    
"0 15 10 * * ?"      每天10:15触发    
"0 15 10 * * ? *"      每天10:15触发
 
0 08 * * * ?     每个小时08分钟的时候触发一次
   
"0 15 10 * * ? 2005"          2005年的每天上午10:15触发    
"0 * 14 * * ?"           在每天下午2点到下午2:59期间的每1分钟触发    
"0 0/5 14 * * ?"             在每天下午2点到下午2:55期间的每5分钟触发     
"0 0/5 14,18 * * ?"          在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发     
"0 0-5 14 * * ?"                  在每天下午2点到下午2:05期间的每1分钟触发    
"0 10,44 14 ? 3 WED"         每年三月的星期三的下午2:10和2:44触发    
"0 15 10 ? * MON-FRI"        周一至周五的上午10:15触发    
"0 15 10 15 * ?"            每月15日上午10:15触发    
"0 15 10 L * ?"           每月最后一日的上午10:15触发    
"0 15 10 ? * 6L"            每月的最后一个星期五上午10:15触发      
"0 15 10 ? * 6L 2002-2005"       2002年至2005年的每月的最后一个星期五上午10:15触发    
"0 15 10 ? * 6#3"          每月的第三个星期五上午10:15触发 
 
maven 配置

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

参考文章:http://blog.csdn.net/yuebinghaoyuan/article/details/9045471

java 调度框架quartz的更多相关文章

  1. Java调度框架Quartz简单示例

    Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...

  2. 开源调度框架Quartz最佳实践

    开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Q ...

  3. Java任务调度框架Quartz入门

    Quartz[kwɔːts]:石英,其框架和名字一样简单朴素又不失魅力,在Java程序界,Quartz大名鼎鼎,很多Java应用几乎都集成或构建了一个定时任务调度系统,Quartz是一个定时任务调度框 ...

  4. Java任务调度框架Quartz

    转自:http://blog.csdn.net/yuebinghaoyuan/article/details/9045471  介绍  Quartz is a full-featured, open ...

  5. java作业调度框架Quartz

    在软件开发中,很多时候需要在特定时间的时间执行某些操作,比如每天的凌晨三点.每周的周日.每个月的15号,Apache Quartz就是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间 ...

  6. Java任务调度框架Quartz教程

    一.什么是quartz作业调度? Quartz框架是一个全功能.开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统.Quartz可以执行上千上万的任务调度. ...

  7. 定时调度框架Quartz随笔

    最近项目中的定时批处理用到了quartz定时任务,在此记录下quartz的配置吧,一个小demo仅供参考,也方便自己今后复习! 下面直接来步骤吧! 一.首先,要搭起能让quartz正常运行的环境,至少 ...

  8. (转)Java任务调度框架Quartz入门教程指南(四)Quartz任务调度框架之触发器精讲SimpleTrigger和CronTrigger、最详细的Cron表达式范例

    http://blog.csdn.net/zixiao217/article/details/53075009 Quartz的主要接口类是Schedule.Job.Trigger,而触发器Trigge ...

  9. (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail

    http://blog.csdn.net/zixiao217/article/details/53053598 首先给一个简明扼要的理解: Scheduler 调度程序-任务执行计划表,只有安排进执行 ...

随机推荐

  1. js实现对上传图片的路径转成base64编码,并且对图片进行压缩,实现预览功能1

    参考 https://blog.csdn.net/qq_31965515/article/details/82975381 https://www.cnblogs.com/zhangdiIT/p/78 ...

  2. Golang读取并修改非主流配置文件

    今天工作中碰到的问题,要求修改此配置文件,没看出来是什么格式,用了下面的思路: mysql { # If any of the files below are set, TLS encryption ...

  3. 单词uranolite陨石uranolite英语

    陨石(uranolite)是指来自地球以外太阳系其他天体的碎片,绝大多数来自位于火星和木星之间的小行星,少数来自月球(40块)和火星(40块).全世界已收集到4万多块陨石样品,石陨石主要成分是硅酸盐. ...

  4. Android.mk文件官方使用说明

    本页介绍了 ndk-build 所使用的 Android.mk 编译文件的语法. 概览 Android.mk 文件位于项目 jni/ 目录的子目录中,用于向编译系统描述源文件和共享库.它实际上是编译系 ...

  5. 解决 win10 家庭版环境下 MySQL 的ODBC驱动下载及安装

    目录 写在前面 下载安装 1.首先,我们需要去官网下载ODBC驱动. 配置 1.打开控制面板.查看方式:选择大图标. 2.选择管理工具的ODBC 数据源(64 位). 3.在驱动程序目录下.我们可以看 ...

  6. Winows上简单配置使用kafka(.net使用)

    一.kafka环境配置 1.jdk安装 安装文件:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK安装完 ...

  7. HTML转换特效相关插件

    Arctext.js Arctext.js 是基于 Lettering.js 的文字旋转插件,根据设置的旋转半径准确计算每个字母的旋转弧度并均匀分布. 虽然 CSS3 也能够实现字符旋转效果,但是要让 ...

  8. 服务器收不到支付宝notify_url异步回调请求的问题 支付宝notify 异步通知与https的问题

    需确认页面是http还是https,如果是https,那么需要安装ssl证书,证书要求有如下:要求“正规的证书机构签发,不支持自签名”. 然后赶快,按照支付宝,宝爷的要求,去自检了一下自家的证书,下面 ...

  9. python数据分析三剑客之: Numpy

    数据分析三剑客之: Numpy 一丶Numpy的使用 ​ numpy 是Python语言的一个扩展程序库,支持大维度的数组和矩阵运算.也支持针对数组运算提供大量的数学函数库 创建ndarray # 1 ...

  10. IDEA报错Plugin "XXX" was not loaded: required plugin "Java EE: EJB, JPA, Servlets" is disabled.

    Java项目转Web项目 把java项目转成web项目时,发现Facets点击+号没有出现web选项. 经查询发现是插件没有正常加载导致的. 解决方案 1.没找到其他原因,重启即可. 2.我的是插件没 ...