spring mvc定时任务的简单使用
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源。
说起定时任务,开发的小伙伴们肯定不陌生了。有些事总是需要计算机去完成的,而不是傻傻的靠我们自己去。可是好多人对定时器总感觉很陌生,今天楼主就带小伙伴们揭开它的神秘面纱,讲解一下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定时任务的简单使用的更多相关文章
- Quartz和Spring Task定时任务的简单应用和比较
看了两个项目,一个用的是Quartz写的定时器,一个是使用spring的task写的,网上看了2篇文章,写的比较清楚,这里做一下留存 链接一.菠萝大象:http://www.blogjava.net/ ...
- Spring MVC 定时任务注解说明
一.注解说明. Spring 自带的定时任务执行@Scheduled注解,可以定时的.周期性的执行一些任务.查看@Scheduled的注解可以看到有以下三种: 1.1 String cron() de ...
- Spring MVC 一次简单的 CRUD
基本环境搭建 1.数据库 和 实体类 的名字相同,实体类 属性名即 数据库 字段名. 2.创建 实体类 对应 dao 类,持久层框架 mybatis 正处于学习中,这里就用原始的 jdbc 操作了. ...
- Spring MVC Theme(简单示例)
在渲染视图的spring-web中,配置them. 实现两个接口就可以使用: ResourceBundleThemeSource --> 用于确定要使用的主题的名字(theme name) S ...
- 用Spring MVC开发简单的Web应用
这个例子是来自于Gary Mak等人写的Spring攻略(第二版)第八章Spring @MVC中的一个例子,在此以学习为目的进行记录. 问题:想用Spring MVC开发一个简单的Web应用, 学习这 ...
- Spring MVC重定向和转发以及异常处理
SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...
- 高性能的关键:Spring MVC的异步模式
我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚. 什 ...
- Spring MVC重定向和转发及异常处理
SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...
- 初识Spring MVC
1.什么是Spring MVC? Spring MVC属于SpringFrameWork的后续产品,它提供了构建 Web 应用程序的全功能 MVC 模块,与Struts2一样是一种优秀MVC框架,不同 ...
随机推荐
- JavaScript基础--小案例:在网页指定位置弹出错误信息(十二)
案例分析:点击按钮后,在网页上指定区域,提示错误信息!5秒后,错误信息提示自动消失! <script languag="javascript" type="text ...
- 《C++primer》v5 第3章 字符串、向量和数组 读书笔记 习题答案
本章问题 1.char *p="hello world";与char p[]="hello world"的问题. 简单说前者是一个指向字符串常量的指针,后者是一 ...
- 【LeetCode OJ】Convert Sorted List to Binary Search Tree
Problem Link: http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/ We design a ...
- 怎样禁用或启用"最近使用的项目"
1.右击“任务栏”——属性——‘开始’菜单——自定义——高级——去掉“列出我最近打开的文档”的勾选——确定.2.通过“组策略”来修改开始——运行——gpedit.msc——用户配置——管理模板——任务 ...
- tensorflow4
参考:tensorflow_manual_cn.pdf 一.图像的四维张量和参数的四维张量貌似不同: 二.流程回顾 1.数据准备 2.Page 63 三.状态可视化 四.保存检查点(保存参数) 五.评 ...
- 计算DNA中每种核苷酸的数目
问题描述:计算DNA中每种核苷酸的数目 输入文件内容: 代码: 输出结果:
- 《C与指针》第五章练习
本章问题 1.这个表达式的类型和值为多少? (/) answer:The cast is applied to the result of the division,and because both ...
- 关于 MAXScript 如何获取当前max版本
用到了 GetFileVersion 相关文档在此:http://docs.autodesk.com/3DSMAX/16/ENU/MAXScript-Help/index.html?url=files ...
- python集成开发工具
1. IDLE http://python.org/idle/ (在 Python 发行版中自带) 2 BlackAdder 3 PythonWorks 4 Wing IDE http://wingw ...
- java之main
Java中用户向系统传递参数的三种基本方式 main方法 在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的 ...