定时批处理作业是J2EE企业应用里很重要的一环,用来在晚间进行财务挂账,数据转存,新闻联播等等操作。
而在Spring里,已经很好的集成了Quartz,简单到像配cron一样,在xml文件里面配一下时间就可以自动执行,不需要写一行代码。Spring对Quartz大刀阔斧的简化堪称范例,Quartz项目组也许可以学习一下。
<bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"><ref bean="financeDAO"/></property> <property name="targetMethod"><value>confirmOrder</value></property> </bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="methodInvokingJobDetail"/> </property> <property name="cronExpression"> <value>0 0 6,12,20 * * ?</value> </property> </bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list><ref local="cronTrigger"/></list> </property> </bean>
上面这段配置文件规定了在早上6点和晚上8点执行financeDAO对象的confirmOrder()方法.
附:cronExpression配置说明
| 字段 | 允许值 | 允许的特殊字符 | ||
|---|---|---|---|---|
| 秒 | 0-59 | , - * / | ||
| 分 | 0-59 | , - * / | ||
| 小时 | 0-23 | , - * / | ||
| 日期 | 1-31 | , - * ? / L W C | ||
| 月份 | 1-12 或者 JAN-DEC | , - * / | ||
| 星期 | 1-7 或者 SUN-SAT | , - * ? / L C # | ||
| 年(可选) | 留空, 1970-2099 | , - * / |
本文介绍如何在Spring框架中使用Quartz实现定时任务,通过XML配置即可轻松完成定时执行如财务确认等业务逻辑,无需额外编写代码。
901

被折叠的 条评论
为什么被折叠?



