Spring联姻Quartz实现作业调度
来源:互联网 发布:瑞士方阵知乎 编辑:程序博客网 时间:2024/05/16 12:02
这里用的是Spring-2.x和Quartz-1.x
里面涉及到的RecFileQuartz、MessageSendQuartz等类,都是普通的Java类
其中<targetMethod>属性值就是RecFileQuartz、MessageSendQuartz类中的方法
<bean id="recfileQuartz" class="com.ecpay.cus.quartz.RecFileQuartz"><property name="pbcDao" ref="pbcDao" /><property name="nauDao" ref="nauDao" /></bean> <bean id="messageSendQuartz" class="com.ecpay.cus.quartz.MessageSendQuartz"> <property name="jfbManager" ref="jfbManager"/> </bean><!-- Spring作业调度 --><!-- 0 0/10 9-23 * * ? : 每天09:00-23:00之间每10分钟触发一次 --><!-- 0 */2 * * * ? : 02分钟触发一次 --><!-- 0 30 0 * * ? : 每天00:30触发 --><!-- 0 0 1 * * ? : 每天01:00触发 --><!-- 0 0 0 1 * ? : 每月01号零点触发 --><!-- autoStartup='true':SchedulerFactoryBean在初始化后是否马上启动Scheduler,默认为true。若设置为false,则需手工启动Scheduler --><!-- concurrent='false':false为不允许任务并发执行,即第二个job将不会在第一个job完成之前开始执行.默认情况下,jobs是在并行的方式下运行的 --><bean id="quartzJobFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="genCustomizeRelationTrigger"/><ref bean="sendInfoTrigger"/></list></property><property name="autoStartup" value="true"/></bean><bean id="genCustomizeRelationTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail" ref="genCustomizeRelationJobDetail" /><property name="cronExpression" value="0 30 0 * * ?"/></bean><bean id="genCustomizeRelationJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject" ref="recfileQuartz" /><property name="targetMethod" value="genRecFileRelation" /><property name="concurrent" value="false" /></bean> <bean id="sendInfoTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="sendInfoDetail"/> <property name="cronExpression" value="0 */10 * * * ?" /> </bean> <bean id="sendInfoDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="messageSendQuartz" /> <property name="targetMethod" value="executeSend" /> <property name="concurrent" value="false" /> </bean>
下面是MessageSendQuartz.java
package com.ecpay.cus.quartz;import com.ecpay.cus.service.JFBBusinessManager;/** * 信息推送 * @author 玄玉<http://blog.csdn.net/jadyer> */public class MessageSendQuartz {private JFBBusinessManager jfbManager;public void setJfbManager(JFBBusinessManager jfbManager) {this.jfbManager = jfbManager;}/** * 定时执行的方法 */public void executeSend() throws Exception {System.out.println("恭喜您:信息推送任务启动了");}}
下面是RecFileQuartz.java
package com.ecpay.cus.quartz;import org.springframework.transaction.annotation.Transactional;import com.ecpay.cus.dao.NotActiveUserDAO;import com.ecpay.cus.dao.PayBusinessCustomizeDAO;/** * 业务定制对账文件之作业调度类 * @author 玄玉<http://blog.csdn.net/jadyer> * @create May 4, 2012 12:50:28 PM */@Transactionalpublic class RecFileQuartz {private PayBusinessCustomizeDAO pbcDao;private NotActiveUserDAO nauDao;public void setNauDao(NotActiveUserDAO nauDao) {this.nauDao = nauDao;}public void setPbcDao(PayBusinessCustomizeDAO pbcDao) {this.pbcDao = pbcDao;}/** * 生成定制关系到数据库 */@Transactionalpublic void genRecFileRelation() {System.out.println("恭喜您:Spring定制调度执行了该方法,本行打印的日志就是该方法的第一行代码");}}
- Spring联姻Quartz实现作业调度
- Timer, Quartz 和 Spring 实现作业调度
- Timer, Quartz 和 Spring 实现作业调度
- Spring+Quartz 实现自动作业调度
- quartz 实现作业调度
- Spring + Quartz 作业调度框架
- spring 使用xml配置文件实现quartz作业调度
- Spring整合Quartz 2.2实现作业动态调度
- Spring调度 Quartz实现
- 使用quartz实现作业调度
- Jfinal+quartz实现作业调度
- Quartz.NET 实现作业调度
- 用Quartz实现作业调度
- Jfinal+quartz实现作业调度
- Quartz.NET实现作业调度
- Spring + Quartz任务调度之静态作业
- Spring框架使用作业任务调度Quartz
- quartz+spring 实现任务调度
- 参考的datalist分页helper
- Linux运行级别和chkconfig用法
- Pyinotify文件系统监控
- HDU 3756 还是三分
- 再谈DIV的高度自适应
- Spring联姻Quartz实现作业调度
- 分享利用JS实现两个select标签中内容更换的小实例
- Ruby系列文章之4 --- RVM Ruby 版本管理器的删除
- iphone开发“关闭键盘的例子”
- 黑马程序员:java学习笔记-接口和多态
- vnc密码修改
- Linux下查看版本号的命令
- HDU 1534 Schedule Problem
- linux 下使用supervisor管理源码启动的openerp