Quartz的CronTrigger
一 点睛
1 CronTrigger的作用
- 基于日历的作业调度
- 不是像SimpleTrigger那样精确指定时间间隔
- 比SimpleTrigger更常用
2 Cron表达式
用于配置CronTrigger实例
是由7个子表达式组成的字符串,描述了时间表的详细信息。
格式:[秒] [分] [小时] [日] [月] [周] [年]
3 Cron表达是特殊字符意义对应表
4 特殊字符含义
L和W可以一起组合使用。
周字段英文字母不区分大小写,即MON和mon相同
利用工具,在线生成 http://cron.qqe2.com/
5 Cron表达式举例
- 2017年内每天10点15分触发一次
0 15 10 ? * * 2017
- 每天的14点整到14点59分55秒,以及18点整到18点59分55秒,每隔5秒触发一次
0/5 * 14,18 * * ?
二 实战——每秒触发一次任务
1 job类
package com.quartz;import org.quartz.*;import java.text.SimpleDateFormat;
import java.util.Date;public class HelloJob implements Job{public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {//打印当前执行的时间Date date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("+++++++++++++++++++++++++++");System.out.println("Current Exec Time is:" + simpleDateFormat.format(date));System.out.println("Hello world");}
}
2 启动类
package com.quartz;import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;import java.text.SimpleDateFormat;
import java.util.Date;public class HelloScheduler {public static void main( String[] args ) throws SchedulerException {Date date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("Current Time is:" + simpleDateFormat.format(date));//创建一个JobDetail实例, 将该实例与hellojob class 绑定JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob").build(); //演示传递参数//每秒触发一次任务CronTrigger trigger = (CronTrigger) TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ? *")).build();//创建Schedule实例SchedulerFactory schedulerFactory = new StdSchedulerFactory();Scheduler scheduler = schedulerFactory.getScheduler();scheduler.start();scheduler.scheduleJob(jobDetail, trigger);}
}
3 执行结果
Current Time is:2018-11-17 10:45:19
+++++++++++++++++++++++++++
Current Exec Time is:2018-11-17 10:45:19
Hello world
+++++++++++++++++++++++++++
Current Exec Time is:2018-11-17 10:45:20
Hello world
+++++++++++++++++++++++++++
Current Exec Time is:2018-11-17 10:45:21
Hello world
+++++++++++++++++++++++++++
Current Exec Time is:2018-11-17 10:45:22
Hello world
Quartz的CronTrigger相关推荐
- Quartz.Net进阶之四:CronTrigger 详述
以前都是将所有的内容放在一篇文章里,就会导致文章很长,对于学习的人来说,有时候这也是一个障碍.所以,以后我的写作习惯,我就会把我写的文章缩短,但是内容不会少,内容更集中.这样,学习起来也不会很累,很容 ...
- Quartz 2.x 任务调度使用(CronTrigger)
为什么80%的码农都做不了架构师?>>> Quartz 框架是一个全功能.开源的任务调度服务,可以集成几乎任何的 Java 应用程序-从小的单片机系统到大型的电子商务系统.Quart ...
- crontrigger java,CronTrigger
CronTrigger通常比Simple Trigger更有用,如果您需要基于日历的概念而不是按照SimpleTrigger的精确指定间隔进行重新启动的作业启动计划. 使用CronTrigger,您可 ...
- org.springframework.scheduling.quartz.CronTriggerBean 配置
一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年:其中年不是必须的,也就是说任何一个表达式最少需要六项. ...
- 配置org.springframework.scheduling.quartz.CronTriggerBean (转载)
在项目中又用到了定时器,对于定时器的应用总是模模糊糊的,今天结合网上找到的资料与自己在项目中写的简单地在此写一下,以备需要时查阅. 一个Quartz的CronTrigger表达式分为七项子表达式,其中 ...
- Quartz定时器与定时任务知识概括
Quartz定时器与定时任务知识概括 定时任务调度 其他定时器 Quartz简介 Quartz简单入门 Spring和Quartz集成 SSMM和Quartz集成 Quartz集群 Quartz配置 ...
- quartz的触发器CronTriggerBean 配置
一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年:其中年不是必须的,也就是说任何一个表达式最少需要六项! ...
- quartz的CronTriggerBean定时器配置
本文转自http://blog.csdn.net/dengsilinming/article/details/8259752 在项目中又用到了定时器,对于定时器的应用总是模模糊糊的,今天结合网上找到的 ...
- 配置org.springframework.scheduling.quartz.CronTriggerBean
在项目中又用到了定时器,对于定时器的应用总是模模糊糊的,今天结合网上找到的资料与自己在项目中写的简单地在此写一下,以备需要时查阅. 一个Quartz的CronTrigger表达式分为七项子表达式,其中 ...
- spring 定时器 表达式 org.springframework.scheduling.quartz.CronTriggerBean
一个Quartz的CronTrigger表达式分为七项子表达式,任何一个表达式最少需要六项: 其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年:其中年不是必须的 例:0 ...
最新文章
- CentOS 安装docker.ce报错提示containerd.io >= 1.2.2-3问题
- 《软件测试经验与教训》之二——测试内容先后顺序
- 金秋十月正当时,未知君招人啦!
- 7.1.15 单双击事件
- 如何向妻子解释OOD
- 【BIEE】报表导出数据只显示500行,如何解决?
- 三、Netty的粘包半包问题解决
- python读取excle表格数据,将数据编辑到图像上工程
- AD20学习笔记3---PCB封装库的创建方法及现有封装调用
- django cookie、session
- python代码安全性问题_这个python代码对注入安全吗?
- ecs 对比 本地服务器_阿里云服务器双十一活动福利
- Tomcat访问日志详细配置
- 如何看待部分985研究生不如本科生,只能去做软件测试?
- 每日算法系列【LeetCode 319】灯泡开关
- Autowired注解与Resource注解的区别
- Docker及常用软件的安装部署
- java点击注册跳转到注册页面_web项目为什么点击注册按钮跳转不到注册页面?...
- Ubuntu 22.04 ‘Jammy Jellyfish‘ 的新功能
- 成功解决百度网盘下载文件时遇到 下载总进度一直处于99.9%,显示一直下载不下来的问题