先说一下,公司是做警用系统的,要求很严格,局方服务器一律windows,每一个任务都要解释清楚,所以才有了定时调用存储过程只能在项目里实现。
问题:项目要实现每天调用存储过程统计一些数据。
思路:通过spring配置定时器实现
实现:1、需要下载 quartz的jar包,我下载的是quartz-1.8.5.jar。ps:但是偷懒并没有下载最新的jar包
官网:http://www.quartz-scheduler.org/downloads
maven:http://grepcode.com/project/repo1.maven.org/maven2/org.quartz-scheduler/quartz/
2、在configs文件夹下创建spring-timer.xml 文件,如图是我的工程:
在web.xml中配置sping的加载:
在spring-timer.xml中,配置如下:
先是调度工厂,配好之后,指示到 CronTriggerBean
配置CronTriggerBean:
1、需要定义要执行的任务,<property name="jobDetail" ref="SpringQtzJobMethod"></property>
2、调用时间,<property name="cronExpression" value="0 0 00 * * ?"></property>
注意其中的空格,第一个0空:0-59秒,第二个:0-59分钟,第三个:0-23小时,第四个是:日期 1-31,第五个是:月份 1-12 或者 JAN-DEC,第六个是:星期 1-7 或者 SUN-SAT,我的定义为每天的00:00:00调用
ps:其实还有第七个是年份,年(可选) 留空, 1970-2099
配置好SpringQtzJobMethod,还需配置SpringQtzJob,
SpringQtzJob指向com.hctec.rfid.service.zonghe.IntegratedQueryManager是我项目中要调用存储过程的类
SpringQtzJobMethod指向的是com.hctec.rfid.service.zonghe.IntegratedQueryManager中我要调用的方法
底层实现为:
up_casewoodbase()为我数据库中定义的存储过程名
设置好之后,发布程序,会在eclipse控制台打印出: