SpringMVC的功能很强大,集成了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。

至此配置工作完毕。

以下開始写代码:

<span style="font-family: Arial, Helvetica, sans-serif;">import java.util.Date;</span>
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了!每分钟运行一次~~~

參考:http://bbs.csdn.net/topics/260068512

http://www.2cto.com/kf/201311/257405.html

http://blog.csdn.net/xiao_wgs69/article/details/11269391

SpringMVC使用Cron表达式的定时器的更多相关文章

  1. SpringMVC中使用Cron表达式的定时器

    SpringMVC中使用Cron表达式的定时器 cron(定时策略)简要说明 顺序: 秒 分 时 日 月 星期 年份 (7个参数,空格隔开各个参数,年份非必须参数) 通配符: , 如果分钟位置为* 1 ...

  2. Quartz cron 表达式(linux 定时器,java 定时任务,spring task定时任务)

    原文地址:https://blog.csdn.net/feng27156/article/details/39293403 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但 ...

  3. Quartz的cron表达式 (spring定时器 crontab)

    http://tangshuo.iteye.com/blog/184824 表达式位数最少六位,如每天凌晨一点启动:"0 0 1 * * ?" 顺序按   秒 分 时 日期 月份 ...

  4. Spring定时器配置与运用,及Cron表达式的详解

    一:首先在spring的配置文件里配置一个定时器 <task:executor id="executor" pool-size="5" /> < ...

  5. spring cron表达式(定时器)

    转: spring cron表达式(定时器) 写定时器时用到,记录一下: Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式:  ...

  6. 定时器 QuartZ Cron表达式

    CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表. CronT ...

  7. Spring cron 表达式

    前言: 最近做的项目有用到定时器,每周只在特定时间运行一次,考虑到Spring Task的简单易用性,就果断选择了,我是配置在配置文件里面,没有用注解@Scheduled,推荐配置,注解虽方便,但更改 ...

  8. Quartz Cron表达式生成器

    格式: [秒] [分] [小时] [日] [月] [周] [年]  序号 说明   是否必填  允许填写的值 允许的通配符   1  秒  是  0-59    , - * /  2  分  是  0 ...

  9. Quartz学习-- quartz基本介绍和 Cron表达式

    Quartz学习 一. Quartz 大致简介 Quartz 是完全由 java 开发的一个开源的任务日程管理系统 ​任务日程管理系统 换句话说就是: ​ 一个预先确定的日程时间到达时,负责执行任务的 ...

随机推荐

  1. Java 8 的新特性和改进总览

    这篇文章是对Java 8中即将到来的改进做一个面向开发者的综合性的总结,JDK的这一特性将会在2013年9月份发布. 在写这篇文章的时候,Java 8的开发工作仍然在紧张有序的进行中,语言特新和API ...

  2. MyEclipse项目如何导入到Eclipse

    1.请首先确保你的eclipse是javaee版本的,或者已经安装看wtp插件 2.然后修改eclipse工程下的.project文件: 3.在<natures></natures& ...

  3. C/C++ 语言获取文件大小

    在C语言中测试文件的大小,主要使用二个标准函数. 1.fseek 函数原型:int fseek ( FILE * stream, long int offset, int origin ); 参数说明 ...

  4. Search for a Range leetcode java

    题目: Given a sorted array of integers, find the starting and ending position of a given target value. ...

  5. Handler Thread 内部类引起内存泄露分析

    非静态内部类引起内存泄漏的原因 内部类的实现其实是通过编译器的语法糖(Syntactic sugar)实现的,通过生成相应的子类即以OutClassName$InteriorClassName命名的C ...

  6. input框设置onInput事件只能输入数字,能兼容火狐IE9

    使用onInput()事件 onInput()是 HTML5 的标准事件,对于检测 textarea, input:text, input:password 和 input:search 这几个元素通 ...

  7. Aliasing input/output properties

    angular @input alias别名的使用. https://angular.io/guide/template-syntax#aliasing-io https://stackoverflo ...

  8. Cognos与Firefox的那些事

    最近怀着一颗好奇的心装了Win10系统,作为一个Coder,或多或少的这么久以来对于它的兼容性还是秉着一颗质疑的态度.但是一切事情都要敢于尝试,毕竟Win10的用户体验还是很好的.和预料的一样,问题马 ...

  9. 输入框提示文字跨浏览器的placeholder-jQuery版

    <script type="text/javascript" src="jquery-1.7.2.min.js"></script> & ...

  10. 图像处理MATLAB源代码

    图像反转 I=imread('nickyboom.jpg'); J=double(I); J=-J+(256-1);                 %图像反转线性变换 H=uint8(J); sub ...