手机版
你好,游客 登录 注册
背景:
阅读新闻

Spring MVC使用Cron表达式的定时器

[日期:2014-12-22] 来源:Linux社区  作者:danielwlh [字体: ]

Spring MVC的功能非常强大,集成了Quartz定时器的功能,可以通过Cron表达式和简单的注解就实现定时执行任务的功能。

网上看到不少例子,但是都不是很全。

闲话少说,首先要在springmvc.xml中添加下面几行:

xmlns:task="http://www.springframework.org/schema/task"

<!--下面两行要放在xsi:schemaLocation里面-->

http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd

有了这两行代码,就可以在配置文件中添加定时器配置的XML代码。例子如下:

还是在springmvc.xml里面,这两行不用再解释,让springmvc知道去哪里扫描带注解的文件:

<!-- 注解扫描包 -->
<context:component-scan base-package="com.cmsv2.controller" />

<!-- 第二个注解包,这里面只有@Scheduled,所以不扫描controller -->
<context:component-scan base-package="com.cmsv2.schedule"> 
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> 
</context:component-scan>

<!-- 开启注解 -->
<mvc:annotation-driven/>

然后在下面加上:

<!-- 定时器配置
    task:executor/@pool-size:可以指定执行线程池的初始大小、最大大小
    task:executor/@queue-capacity:等待执行的任务队列的容量
    task:executor/@rejection-policy:当等待队已满时的策略,分为丢弃、由任务执行器直接运行等方式
  -->
    <task:scheduler id="scheduler" pool-size="10" /> 
    <task:executor id="executor" keep-alive="3600" pool-size="100-200"
    queue-capacity="500" rejection-policy="CALLER_RUNS" />
    <task:annotation-driven executor="executor" scheduler="scheduler" />

这几行从网上copy。

同时还要添加一个aopaliaance.jar,否则会报错:noClassDefoundError:org/aopalliance/aop/Advice

地址:http://mirrors.ibiblio.org/pub/mirrors/maven2/aopalliance/aopalliance/1.0/

下载后add to buildpath。

至此配置工作完成。

下面开始写代码:

import java.util.Date;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component ;

@Component
public class ScheduledTest2 {

 @Scheduled(cron = "0 0/1 * * * ?")
 public void runFunction(){
  System.out.println(new Date() + " package.controller scheduled test --> mahaha") ;
 }
 
}

然后就OK了!每分钟执行一次~~~ 

 

Spring MVC+Spring3+Hibernate4开发环境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm

Spring MVC整合Freemarker基于注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm

基于注解的Spring MVC简单介绍 http://www.linuxidc.com/Linux/2012-02/54896.htm

Spring MVC 框架搭建及详解 http://www.linuxidc.com/Linux/2012-01/52740.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-12/110733.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款