关键词:
Quartz是纯Java开发的工作任务调度框架,可以与各种Java框架配合使用,也可以独立运行。一般在项目中实现定时任务。
根据官方的描述Quartz可以支持,一个、多个乃至万个定时任务,个人不太敢这么尝试,如果那么多定时任务的话,性能实在怕拖累了。不过也可以看出Quartz对自己的性能是很有自信的。
本文讲解在Spring环境下以注解的方式如何实现Quartz,用后发现这个简单的实在不像话,哪像一个拥有如此强大功能的框架的配置过程啊,简直是傻瓜型的。
在spring.xml文件中增加一行配置
<task:annotation-driven></task:annotation-driven>
注意,这个配置用到了task标签,因此需要在beans标签上增加如下配置:
xmlns:task="http://www.springframework.org/schema/task"
在xsi:schemaLocation中增加:
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
就这么简单,Quartz的配置就完成了
写一个Quartz的测试类和方法
代码如下:
package com.wskj.app.quartz; import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class TestQuartz { @Scheduled(cron = "*/4 * * * * ? ") public void printab(){ System.out.println("Hello,"+new Date()); } }
解释说明:
@Component注解:通知Spring,该类将愿意被Spring作为一个组件管理。
@Scheduled注解:声明这是一个定时执行的任务。
cron属性:定义了CronTrigger,什么时间触发执行。
CronTrigger解释
CronTrigger配置完整格式为: [秒] [分] [小时] [日] [月] [周] [年]
序号 说明 是否必填 允许填写的值 允许的通配符
1 秒 是 0-59 , - * /
2 分 是 0-59 , - * /
3 小时 是 0-23 , - * /
4 日 是 1-31 , - * ? / L W
5 月 是 1-12 or JAN-DEC , - * /
6 周 是 1-7 or SUN-SAT , - * ? / L #
7 年 否 empty 或 1970-2099 , - * /
举例如下:
0 0 12 * * ? 每天12点触发
0 15 10 ? * * 每天10点15分触发
0 15 10 * * ? 每天10点15分触发
0 15 10 * * ? * 每天10点15分触发
0 15 10 * * ? 2005 2005年每天10点15分触发
0 * 14 * * ? 每天下午的 2点到2点59分每分触发
0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)
0 0/5 14,18 * * ? 每天下午的 2点到2点59分、18点到18点59分(整点开始,每隔5分触发)
0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
0 10,44 14 ? 3 WED 3月分每周三下午的 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 每月的第三周的星期五开始触发
0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)
本文摘自:http://www.jiisb.com/www/article/art_124.html
spring+quartz集群配置,spring定时任务集群,quartz定时任务集群
Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>& 查看详情
spring定时任务quartz
spring定时任务quartz背景介绍 使用spring做项目,需要定时的完成一系列的任务动作处理,执行相应的代码逻辑,使用spring的Quartz组件可以完成定时任务的功能,作者强烈推荐使用Quartz2.x版本。原理如下:一、环境介绍 IDE:ec... 查看详情
quartz——定时任务
Quartz之前版本的使用:http://blog.csdn.net/huihuimimi17/article/details/8215779 2之后的版本使用:简单使用packagecom.bxw;importjava.util.Date;importorg.quartz.DateBuilder;importorg.quartz.JobBuilder;importorg.quartz. 查看详情
javaweb定时任务---quartz
...的记录下Timer定时的用法,但是在此次项目中,选择的是quartz来完成定时操作任务的。两者都可以完成定时操作,但是spring可以整合quartz,并且配置起来也比较简便,还可以同时跑多个任务。就选择了quartz,quartz的用法也很强大,... 查看详情
springboot入门:集成quartz定时任务
...章续《SpringBoot入门(八):集成RabbitMQ消息队列》,关于Quartz定时任务请参考《Quartz的基本使用之入门(2.3.0版本)》springboot实现定时任务,除了集成Quartz外,还可以直接使用scheduler注解。使用1个简单的注解就可以完成,为什... 查看详情
quartz实现动态定时任务
...务的执行,而且要求定时周期是不固定的,所以就用到了quartz来实现这个功能; spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持quartz2.x,不然会出错。至于原因,则是spring对于quartz的支持实现,org... 查看详情
quartz定时任务第一次不执行
随时往quartz数据库中添加定时任务,通过一个定时任务每天定点去启动quartz数据库中的任务,但是,quartz数据库中的第一次添加的任务不会执行,比如:0589**?,添加这个任务,必须到明天的这个点才执行。请高手指点,谢谢。... 查看详情
quartz定时任务框架之实例
importorg.quartz.*;importorg.quartz.impl.StdSchedulerFactory;importjava.util.Date;publicclassMyJobimplementsJob{publicvoidexecute(JobExecutionContextjobExecutionContext)throwsJobExecutionException{Sys 查看详情
分布式定时任务调度框架-quartz学习及实战记录笔记
目录1.Quartz入门2.Quartz中的常用组件之间的关系3.Trigger触发器的介绍4.Quartz配置资源介绍5.Quartz监听器6.SpringBoot整合Quartz实现动态的创建或删除定时任务并将定时调度任务持久化到MySQL以及Quartz集群配置7.分布式定时任务调度框架学... 查看详情
分布式定时任务调度框架-quartz学习及实战记录笔记
目录1.Quartz入门2.Quartz中的常用组件之间的关系3.Trigger触发器的介绍4.Quartz配置资源介绍5.Quartz监听器6.SpringBoot整合Quartz实现动态的创建或删除定时任务并将定时调度任务持久化到MySQL以及Quartz集群配置7.分布式定时任务调度框架学... 查看详情
springboot集成quartz动态定时任务
SpringBoot集成Quartz动态定时任务项目中需要用到定时任务,考虑了下java方面定时任务无非就三种:用Java自带的timer类。稍微看了一下,可以实现大部分的指定频率的任务的调度(timer.schedule()),也可以实现关闭和开启(timer.ca... 查看详情
quartz将定时任务持久化到数据库
...demo是将定时任务的信息保存在内存中的,见以下配置org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore 如果,我们需要在系统意外(或非意外)重新启动后,仍保留定时任务信息,可以使用数据库存储定时任务信息。org.quartz.jobStore.... 查看详情
quartz定时任务学习简单任务
学习quartz首先了解三个概念: 调度器:负责调度作业和触发器;触发器:设置作业执行的时间、参数、条件等;(简单触发器和Cron触发器)作业:定时任务内容,被执行的程序;下载必要的jar包,直接去官网下载,将quartz-x... 查看详情
quartz2.2动态添加修改和删除定时任务
QuartzManager.Java 动态添加、修改和删除定时任务管理类 importorg.quartz.CronScheduleBuilder;importorg.quartz.CronTrigger;importorg.quartz.Job;importorg.quartz.JobBuilder;importorg.quartz.JobDetail;importorg.q 查看详情
quartz定时任务使用小记(11月22日)
骤然接触quartz,先从小处着手,why,what,howquartz定时任务: 为什么使用quartz定时任务,以及定时任务在实际应用场景下的特定需求。 1.用户方面的需要,为了提供更好的使用体验,例如,针对用户注册的监听,最终得到... 查看详情
quartz源码解读-任务是如何定时执行的
例子 importorg.quartz.*;importorg.quartz.impl.StdSchedulerFactory;importjava.util.Date;/***quartz定时器测试**@authorleizhimin2009-7-238:49:01*/classMyJobimplementsJobpublicvoidexecute(JobExecutionContext 查看详情
定时任务框架-quartz(代码片段)
依赖 <!--定时任务jar--><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.1.7</version></dependency>  查看详情
对quartz定时任务的初步认识
今天就谈一谈我前两天自学的quartz定时任务吧,我对quartz定时任务的理解,就是可以设定一个时间,然后呢,在这个时间到的时候,去执行业务逻辑,这是我的简单理解,接下来看代码是如何实现的,首先有两种实现的方式,一... 查看详情