版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源。

  说起定时任务,开发的小伙伴们肯定不陌生了。有些事总是需要计算机去完成的,而不是傻傻的靠我们自己去。可是好多人对定时器总感觉很陌生,今天楼主就带小伙伴们揭开它的神秘面纱,讲解一下spring 定时器的配置。

 <!-- 工作的bean -->
<bean id="myJob" class="weixin.test.controller.TestController" /> <!-- job的配置开始 -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob" />
</property>
<property name="targetMethod">
<value>test</value>
</property>
<!--concurrent=false 表示 不做并发执行 一个任务未完成下一个任务等待上一个任务-->
<property name="concurrent">
<value>false</value>
</property>
</bean>
<!-- job的配置结束 --> <!-- 调度的配置开始-->
<bean id="crontestJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<!-- 每1分钟执行 -->
<value>0 0/1 * * * ?</value>
</property>
</bean>
<!-- 调度的配置结束 --> <!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="crontestJobTrigger" />
</list>
</property>
</bean>
<!-- 启动触发器的配置结束 -->

配置中需要注意的地方,我已经标红,下面讲解一下。该配置我们从后向前看。首先第32-40行,是启动触发器的配置,这里面我标红了crontestJobTrigger,这个名字,你可以随便起,但是往上看21-28行,保证21行的名字和此名字一样即可。调度配置开始,同样23行的方法名称你可以修改,保证名字一致即可。多少时间执行一次同样在这里修改的。第1-18行是关联到实际需要执行的后台代码。我在这里后台controller是TestController,方法叫test.然后后台代码为:

public void test(){
System.out.println("定时器开始执行了,它说我是个好人");
}

ok,这样一个简单的定时器已经完成。那么有的小伙伴们要说,我一个程序要跑多个定时任务,怎么弄呢?简单。其实只要你理解了上面的代码,懂了它的执行顺序,就知道怎么配。下面我附上配置两个定时器的代码,供参考。

 <!-- 工作的bean -->
<!-- <bean id="myJob"
<bean id="myJob" class="weixin.test.controller.TestController" />
<!-- job的配置开始 -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob" />
</property>
<property name="targetMethod">
<value>test</value>
</property>
<!--concurrent=false 表示 不做并发执行 一个任务未完成下一个任务等待上一个任务-->
<property name="concurrent">
<value>false</value>
</property>
</bean>
<!-- job的配置结束 --> <!-- 调度的配置开始**定时器1 -->
<bean id="crontestJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<!-- 每1分钟执行 -->
<value>0 0/1 * * * ?</value>
</property>
</bean>
<!-- 调度的配置结束 -->
<!-- ************************** 定时器2************************** --> <!-- 工作的bean -->
<bean id="myJob1" class="weixin.test.controller.TestController" /> <!-- job的配置开始 -->
<bean id="myJobDetail1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob1" />
</property>
<property name="targetMethod">
<value>test1</value>
</property>
<!--concurrent=false 表示 不做并发执行 一个任务未完成下一个任务等待上一个任务-->
<property name="concurrent">
<value>false</value>
</property>
</bean>
<!-- job的配置结束 --> <!-- 调度的配置开始****定时器2 -->
<bean id="crontestJobTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJobDetail1" />
</property>
<property name="cronExpression">
<!-- 每1分钟执行 -->
<value>0 0/1 * * * ?</value>
</property>
</bean>
<!-- 调度的配置结束 --> <!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="crontestJobTrigger" />
<ref bean="crontestJobTrigger1" />
</list>
</property>
</bean>

spring mvc定时任务的简单使用的更多相关文章

  1. Quartz和Spring Task定时任务的简单应用和比较

    看了两个项目,一个用的是Quartz写的定时器,一个是使用spring的task写的,网上看了2篇文章,写的比较清楚,这里做一下留存 链接一.菠萝大象:http://www.blogjava.net/ ...

  2. Spring MVC 定时任务注解说明

    一.注解说明. Spring 自带的定时任务执行@Scheduled注解,可以定时的.周期性的执行一些任务.查看@Scheduled的注解可以看到有以下三种: 1.1 String cron() de ...

  3. Spring MVC 一次简单的 CRUD

    基本环境搭建 1.数据库 和 实体类 的名字相同,实体类 属性名即 数据库 字段名. 2.创建 实体类 对应 dao 类,持久层框架 mybatis 正处于学习中,这里就用原始的 jdbc 操作了. ...

  4. Spring MVC Theme(简单示例)

    在渲染视图的spring-web中,配置them. 实现两个接口就可以使用: ResourceBundleThemeSource  --> 用于确定要使用的主题的名字(theme name) S ...

  5. 用Spring MVC开发简单的Web应用

    这个例子是来自于Gary Mak等人写的Spring攻略(第二版)第八章Spring @MVC中的一个例子,在此以学习为目的进行记录. 问题:想用Spring MVC开发一个简单的Web应用, 学习这 ...

  6. Spring MVC重定向和转发以及异常处理

    SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...

  7. 高性能的关键:Spring MVC的异步模式

    我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚. 什 ...

  8. Spring MVC重定向和转发及异常处理

    SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...

  9. 初识Spring MVC

    1.什么是Spring MVC? Spring MVC属于SpringFrameWork的后续产品,它提供了构建 Web 应用程序的全功能 MVC 模块,与Struts2一样是一种优秀MVC框架,不同 ...

随机推荐

  1. matplotlib画图保存

    import numpy as np import matplotlib.pyplot as plt xData = np.arange(0, 10, 1) yData1 = xData.__pow_ ...

  2. java.io.IOException: Too many open files

    1.描述: 每日一样,例行打开hadoop集群的cloudera manager的管理界面.发现出现了多个bad health的服务.那么出现的这个问题就是查看该服务运行的日志,对应的该服务当中,会包 ...

  3. Unity3D和OGRE资源管理机制

    转自:http://www.tuicool.com/articles/QbMjUn 游戏中通常有大量资源,如网格.材质.纹理.动画.着色器程序和音乐等,游戏引擎作为做游戏的工具,自然要提供良好的资源管 ...

  4. 团队开发——冲刺2.c

    冲刺阶段二(第三天) 1.昨天做了什么? 把“开始游戏”.“退出游戏”.“取消”等文字按钮加工成游戏图标,美化游戏界面背景. 2.今天准备做什么? 因为收集的图标时比较杂乱,没有针对性,把游戏图标进行 ...

  5. ACM感悟

    声明:本文是写给弱校ACM新手的一点总结,受自身水平和眼界所限,难免会有一些个人主观色彩,希望大牛指正 感谢@Wackysoft .@哇晴天 . @ 一切皆有可能1 的指教,现根据这些建议,文章已进行 ...

  6. mac下XAMPP服务器配置多站点配置局域网配置 (转)

    原文:http://blog.csdn.net/wbw1985/article/details/9493989 Mac 上的软件大多是收费的,配置开源的东东也挺麻烦,网上搜索发现XAMPP软件是集成了 ...

  7. Android 学习第5课,配置android

    昨天与今天都在配置安卓的开发环境, 搞的头都大了,步骤比较多 1. 先下载安装 java 的 jdk ,这个是最基础的组件 2. 再下载 android SDK,  http://developer. ...

  8. window.location和window.open

    window.location和window.open的区别 window.location = "http://www.baidu.com" 跳转后有后退功能 window.lo ...

  9. Node.js高级编程读书笔记 - 5 数据库 - Never

    Outline 6 连接数据库 6.1 使用node-mysql连接MySQL数据库 6.2 使用Nano连接CouchDB数据库 6.3 使用Mongoose连接MongoDB数据库 6 连接数据库 ...

  10. linux的七种文件类型

    d 目录 - 普通文件 l 符号链接 s 套接字文件 b 块设备文件 二进制文件 c 字符设备文件 p 命名管道文件