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

  说起定时任务,开发的小伙伴们肯定不陌生了。有些事总是需要计算机去完成的,而不是傻傻的靠我们自己去。可是好多人对定时器总感觉很陌生,今天楼主就带小伙伴们揭开它的神秘面纱,讲解一下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. CSS第二天总结 更多的选择符

    CSS的选择符非常多,今天继续总结后面的选择符 1.id和class选择符某些情况下我们用关系选择符或者伪类选择符无法选中一些元素时,我们可以给这些元素起 个名字或者分类,这就是id和class属性. ...

  2. CSS中相对定位与绝对定位

    看了几个讲解定位的博客,觉得还不错,分享之: 博客一:http://blog.sina.com.cn/s/blog_4bcf4a5e010008o0.html 文章中,主要需要参考的有两点: 1,相对 ...

  3. 详解Android功耗分析工具Power Tutor的使用

    简介: PowerTutor 是由美国密歇根大学在谷歌的指导下开发的.它是用来展示google智能手机中主要组件或应用功耗的一种应用程序.例如,CPU,网络链接,LCD显示屏,GPS等.它允许开发者很 ...

  4. BZOJ 2595 斯坦那树

    很久以前就想做,后来弃坑了. 最近又在群里有人问了类似的问题,艾老师说是斯坦纳树(%%%) 就是状压DP,然后用Spfa对状态进行转移. #include <iostream> #incl ...

  5. iTunesConnect进行App转移2-官方说明

    Can I transfer an app to another developer's iTunes Connect account? Yes, you can transfer your app ...

  6. CSS3-transition,过渡实例

    过渡:transition[由Webkit内核浏览器提出] 通过CSS实现元素从一个样式渐变成另一个种. IE不支持,其他需后缀. transition:transition-property/dur ...

  7. python知识点记录(一):

    1.如何使print输出不换行: 在print语句末尾加上一个英文逗号. 2.安装第三方模块时,用pip和easy_install是一样的.下载一个setuptools.exe安装好就有easy_in ...

  8. 《C与指针》第九章练习

    本章问题 1.C语言缺少显示的字符串数据类型,这是一个优点还是一个缺点? answer: (这个问题存在争论(尽管我有一个结论))目前这个方法的优点是字符数组的效率和访问的灵活性,它的缺点是有可能引起 ...

  9. MySQL查询今天/昨天/本周、上周、本月、上个月份数据的sql代码

    MySQL查询本周.上周.本月.上个月份数据的sql代码 作者: 字体:[增加 减小] 类型:转载 时间:2012-11-29我要评论 MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查 ...

  10. 为什么学习Ruby On Rails:

    简单总结了一下自己为什么喜欢ruby on rails: 语法简单,写代码很愉快,比较接近伪代码: 喜欢其强大的正则表达式和字符串操作. ruby中面向对象更自由,更动态: ruby给人信任,相信你了 ...