Spring+Quartz实现定时任务的配置方法(插曲)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46376093
1、Scheduler的配置
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="testTrigger"/>
</list>
</property>
<property name="autoStartup" value="true"/>
</bean>
说明:Scheduler包括一个Trigger列表,每一个Trigger表示一个作业。
2、Trigger的配置
<bean id="testTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="testJobDetail"/>
<property name="cronExpression" value="*/1 * * * * ? "/><!-- 每隔1秒钟触发一次 -->
</bean>
说明:
1)Cron表达式的格式:秒 分 时 日 月 周 年(可选)。
字段名 同意的值 同意的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日 1-31 , - * ? / L W C
月 1-12 or JAN-DEC , - * /
周几 1-7 or SUN-SAT , - * ? / L C #
年 (可选字段) empty, 1970-2099 , - * /
“?”字符:表示不确定的值
“,”字符:指定数个值
“-”字符:指定一个值的范围
“/”字符:指定一个值的添加幅度。
n/m表示从n開始。每次添加m
“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X
“W”字符:指定离给定日期近期的工作日(周一到周五)
“#”字符:表示该月第几个周X。
6#3表示该月第3个周五
2)Cron表达式范例:
每隔5秒运行一次:*/5 * * * * ?
每隔1分钟运行一次:0 */1 * * * ?
每天23点运行一次:0 0 23 * * ?
每天凌晨1点运行一次:0 0 1 * * ?
每月1号凌晨1点运行一次:0 0 1 1 * ?
每月最后一天23点运行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分运行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都运行一次:0 0 0,13,18,21 * * ?
3、JobDetail的配置
<bean id="testJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="testJob"/>
<property name="targetMethod" value="execute"/>
<property name="concurrent" value="false"/>
<!-- 是否同意任务并发运行。当值为false时,表示必须等到前一个线程处理完成后才再启一个新的线程 -->
</bean>
4、业务类的配置
<bean id="testJob" class="com.cjm.web.service.quartz.TestJob"/>
5、业务类源码
public class TestJob {
public void execute(){
try{
//.......
}catch(Exception ex){
ex.printStackTrace();
}
}
}
说明:业务类不须要继承不论什么父类,也不须要实现不论什么接口。仅仅是一个普通的java类。
注意:
在Spring配置和Quartz集成内容时,有两点须要注意
1、在<Beans>中不可以设置default-lazy-init="true",否则定时任务不触发,假设不明白指明default-lazy-init的值。默认是false。
2、在<Beans>中不可以设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory.BeanCreationException错误,这样就不能通过Bean名称自己主动注入。必须通过明白引用注入
Spring+Quartz实现定时任务的配置方法(插曲)的更多相关文章
- Spring+Quartz 实现定时任务的配置方法
Spring+Quartz 实现定时任务的配置方法 整体介绍 一.Quartz介绍 在企业应用中,我们经常会碰到时间任务调度的需求,比如每天凌晨生成前天报表,每小时生成一次汇总数据等等.Quartz是 ...
- Spring+Quartz实现定时任务的配置方法
1.Scheduler的配置 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" ...
- quartz (二) Spring+Quartz实现定时任务的配置方法
JobDetail 设置执行的任务 :CronTrigger 触发器:设置执行的时间规则 ; Scheduler // 调度器,将任务与执行时间关联 本文转自:http://w ...
- 170321、Spring+Quartz实现定时任务的配置方法
Quartz是Java版开源定时调度器. 核心概念: Job 表示一个工作,要执行的具体内容.此接口中只有一个方法 void execute(JobExecutionContext context): ...
- Spring+Quartz实现定时任务的配置方法(转)
1.Scheduler的配置 <bean id="myScheduler" class="org.springframework.scheduling.quartz ...
- Quartz实现定时任务的配置方法
1. CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 ...
- Spring+quartz 实现定时任务job集群配置
为什么要有集群定时任务? 因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真 ...
- Spring Boot整合Quartz实现定时任务表配置
最近有个小项目要做,spring mvc下的task设置一直不太灵活,因此在Spring Boot上想做到灵活的管理定时任务.需求就是,当项目启动的时候,如果有定时任务则加载进来,生成schedule ...
- Spring+quartz 实现定时任务job集群配置【原】
为什么要有集群定时任务? 因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真 ...
随机推荐
- wireshark mqtt协议解析
local tcp_dissector_table = DissectorTable.get("tcp.port") local ws_dissector_table = Diss ...
- CE工具里自带的学习工具--第三关
图解: 重复第5,6,7,8,9步,最终得到:
- 手动配置webpack
//注:“__dirname”是node.js中的一个全局变量,它指向当前执行脚本所在的目录.const path = require('path');const webpack = require( ...
- CAD参数绘制直线(网页版)
用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...
- Java A
4.在ORACLE大数据量下的分页解决方法.一般用截取ID方法,还有是三层嵌套方法. 答:一种分页方法 <% int i=1; int numPages=14; String pages = r ...
- Mysql--查询相关语句总结
一.查询各个部门的最高工资及姓名,其中薪资字段是字符串类型: 优化前: SELECT *FROM (SELECT a.`deptno`, a.`sal`, a.`ename` FROM emp a O ...
- hdfs深入:03、hdfs的架构以及副本机制和block块存储
HDFS分布式文件系统设计目标 1. 硬件错误 由于集群很多时候由数量众多的廉价机组成,使得硬件错误成为常态 2. 数据流访问 所有应用以流的方式访问数 ...
- Android图像处理之BitMap(2)
Bitmap 相关 1. Bitmap比较特别 因为其不可创建 而只能借助于BitmapFactory 而根据图像来源又可分以下几种情况: * png图片 如:R.drawable.tianjin J ...
- c++ 回调的实现
什么是回调?通常发生在需要两个角色即调用者与实现者的情形上,即我们希望当产生某个事件时,调用实现者定义的某个函数.当然这个概念很大,不是说操作系统的信号量,条件变量什么的,是在语言级别实现,如一个Fr ...
- [学习资料] Tiny210(S5PV210) u-boot移植
Tiny210(S5PV210) u-boot移植http://www.microoh.com/bbs/forum.php?mod=viewthread&tid=254&fromuid ...