在Java中我们常用Timer和TimerTask实现定时功能,而在JavaEE项目中可以使用spring整合Quartz定时器、Spring的Task任务。相比于Spring自带的任务,Quartz非常的强大,能够实现所有想要的定时任务,包括Tomcat服务器开始启动,定时定点定周,集群定时任务等等的任务,有关Quartz的介绍和时间配置网上有很多的资料,就不在累赘,下面主要介绍SpringMVC整合Quartz的实现步骤。
来源博客:http://blog.csdn.net/fengshizty
一、Quartz定时任务
1、引入quartz
导入quartz.jar包,或者pom.xml 配置对应的依赖:
2、 Web.xml配置
在Web项目web.xml中配置quartz的配置文件加载路径:
3、写具体的定时调度的任务:
4、配置quartz的xml配置信息
Quartz配置文件名字可以随便,需和web.xml中的一致。
pyc-spring-quartz.xml配置信息如下:
这样就实现了myPrint的任务调度,执行时间是每天早上8点执行一次,打印:
this is andy schedule
这句话。
quartz的功能是非常强大的,使用也非常的简单方便,有事需要web启动时,执行一些初始化的任务,这是我们执行配置对应的执行调度的触发时间就能完成。其具体实现如下:
上面的配置完成了,服务器启动执行的任务。只被执行一次。
二、Spring自带的任务Task
Spring自带的定时任务是在spring3之后支持,相比于quartz定时任务Spring相对于简单,配置也很简单。quartz功能比Spring Task强大,支持集群功能。
1、在spring配置中添加task的schema
pring配置文件头中添加命名空间及描述
2、开启扫描定时任务包
3、配置开启任务
如果任务比较多,可以添加任务池
4、Spring的POJO任务类
三、定时配置
spring的task和quartz的任务格式都是一样的。