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. Memcached 集群架构方面的问题

    *  集群架构方面的问题 o memcached是怎么工作的? o memcached最大的优势是什么? o memcached和MySQL的query cache相比,有什么优缺点? o memca ...

  2. eclipse 设置打开java文件代码自动折叠

    eclipse 设置打开java文件代码自动折叠 java: windows/preference/java/editor/folding->enable folding 可以在里面设置所要折叠 ...

  3. spark-submit提交作业过程

    1. 作业提交方法以及参数 我们先看一下用Spark Submit提交的方法吧,下面是从官方上面摘抄的内容. # Run application locally on 8 cores ./bin/sp ...

  4. freetds简介、安装、配置及使用介绍

    什么是FreeTDS 简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源(如果你喜欢可以称为自由)的程序库,是TDS(表列数据流 )协议 ...

  5. 让 IE6, 7和 8支持CSS3的HTC文件补丁

    让 IE6, 7和 8支持CSS3 IE6,7并不支持CSS3的属性,IE8也不能很好的支持CSS3.但是有一个小脚本能够做到,它可以让IE支持CSS3,包括:border-radius (round ...

  6. 运用CSS改进网站设计的3个技巧

    CSS是一种分离表述编码和实际内容的一种最有用的方式,也是一种使搜索引擎最优化的方式,通常,网站设计中会建立一整套的css样式标准,这些标准存储在一个扩展名为css的单独文件中.然后利用HTML标签设 ...

  7. 【HBase】学习笔记

    HBASE 1 简介 1.1 官网 1.1.1 http://hbase.apache.org/ 1.1.2 Apache HBase™ is the Hadoop database, a distr ...

  8. socket bind 随机端口

    https://www.cprogramming.com/code_blocks/ 这个地址可以下载c, c++的编译器,在windows下可以用的 IDE. bind到端口0上,系统就会自动分配,但 ...

  9. html 中shadow DOM 的使用

    什么是shadow DOM? An important aspect of web components is encapsulation — being able to keep the marku ...

  10. Java 调用Web service 加入认证头(soapenv:Header)

    前言 有时候调用web service 会出现 Message does not conform to configured policy [ AuthenticationTokenPolicy(S) ...