java 调度框架quartz
核心代码如下:
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的详解
特殊字符解释:
表达式 意义
<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的更多相关文章
- Java调度框架Quartz简单示例
Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...
- 开源调度框架Quartz最佳实践
开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Q ...
- Java任务调度框架Quartz入门
Quartz[kwɔːts]:石英,其框架和名字一样简单朴素又不失魅力,在Java程序界,Quartz大名鼎鼎,很多Java应用几乎都集成或构建了一个定时任务调度系统,Quartz是一个定时任务调度框 ...
- Java任务调度框架Quartz
转自:http://blog.csdn.net/yuebinghaoyuan/article/details/9045471 介绍 Quartz is a full-featured, open ...
- java作业调度框架Quartz
在软件开发中,很多时候需要在特定时间的时间执行某些操作,比如每天的凌晨三点.每周的周日.每个月的15号,Apache Quartz就是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间 ...
- Java任务调度框架Quartz教程
一.什么是quartz作业调度? Quartz框架是一个全功能.开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统.Quartz可以执行上千上万的任务调度. ...
- 定时调度框架Quartz随笔
最近项目中的定时批处理用到了quartz定时任务,在此记录下quartz的配置吧,一个小demo仅供参考,也方便自己今后复习! 下面直接来步骤吧! 一.首先,要搭起能让quartz正常运行的环境,至少 ...
- (转)Java任务调度框架Quartz入门教程指南(四)Quartz任务调度框架之触发器精讲SimpleTrigger和CronTrigger、最详细的Cron表达式范例
http://blog.csdn.net/zixiao217/article/details/53075009 Quartz的主要接口类是Schedule.Job.Trigger,而触发器Trigge ...
- (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail
http://blog.csdn.net/zixiao217/article/details/53053598 首先给一个简明扼要的理解: Scheduler 调度程序-任务执行计划表,只有安排进执行 ...
随机推荐
- SpringBoot扩展点之二:ApplicationRunner和CommandLineRunner的扩展
CommandLineRunner并不是Spring框架原有的概念,它属于SpringBoot应用特定的回调扩展接口: public interface CommandLineRunner { /** ...
- [译] Go语言测试进阶版建议与技巧
阅读本篇文章前,你最好已经知道如何写基本的单元测试.本篇文章共包含3个小建议,以及7个小技巧. 建议一,不要使用框架 Go语言自身已经有一个非常棒的测试框架,它允许你使用Go编写测试代码,不需要再额外 ...
- 不同路径II --动态规划
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 现在考虑网 ...
- ImportBeanDefinitionRegistrar接口实现bean动态注入
借助ImportBeanDefinitionRegistrar接口实现bean的动态注入https://www.jianshu.com/p/2b993ced6a4c ImportBeanDefinit ...
- Asp.Net 技术
Asp.Net 技术Nuget 管理器Spring.NET 框架Spring.core 包 微服务Consul .NetCore 框架:Spring.net Nhibernate 框架Dapper.n ...
- Spring IOC 概述
Spring IOC 概述 IOC(Inversion of Control) 控制反转,也叫 DI(D_ependency injection_) 依赖注入.是一种设计思想.不过我并不同意所谓反转的 ...
- 版本控制器:Git-的使用
版本控制器:Git # 达到多人协同开发的目的 安装 """ 1.下载对应版本:https://git-scm.com/download 2.安装git:在选取安装路径的 ...
- 谈谈游戏服务端SDK接入
“接sdk其实本质上就是一个对着接口文档写adaptor的工作,重复和无味.” 团队减员,身负多职,上一次调SDK已经可以回溯到游戏测试前夕了... 一般SDK只包含验证和支付功能,绝少部分SDK包含 ...
- android的子线程切换到主线程
在子线程中,如果想更新UI,必须切换到主线程,方法如下: if (Looper.myLooper() != Looper.getMainLooper()) { // If we finish mark ...
- Java DbUtils 操作数据库
示例 1.新建项目,把数据库驱动.DbUtils的jar包添加到项目中 2.新建文件夹resource,标识为资源根目录,下面新建数据库连接的配置文件mysql.properties driver=c ...