spring自带定时器
http://www.cnblogs.com/pengmengnan/p/6714203.html
注解模式的spring定时器
1 , 首先要配置我们的spring.xml
xmlns 多加下面的内容、
xmlns:task="http://www.springframework.org/schema/task
"
然后xsi:schemaLocation多加下面的内容、
1. http://www.springframework.org/schema/task
2.
http://www.springframework.org/schema/task/spring-
task-3.1.xsd
2,task任务扫描注解
<task:annotation-driven/>
3,配置扫描位置是:
<context:annotation-config/>
<bean
class="org.springframework.beans.factory.annotation.Au
towiredAnnotationBeanPostProcessor"/>
<context:component-scan base-
package="com.jk.spring"/>
4 ,写一个接口
public interface SpringHorodateurI {
public void myTest();
}
5,接口实现类
//import
org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
@Component //import
org.springframework.stereotype.Component;
public class SpringHorodateur implements
SpringHorodateurI{
@Scheduled(cron="0/5 * * * * ? ") //每5秒执行一
次
@Override
public void myTest() {
System.out.println(">>>>>>>>>>>>>进入测
试!!");
}
}
完成!
需要注意的几点:
1、spring的@Scheduled注解 需要写在实现上、
2、 定时器的任务方法不能有返回值(如果有返回值,spring初始
化的时候会告诉你有个错误、需要设定一个proxytargetclass的
某个值为true、具体就去百度google吧)
3、实现类上要有组件的注解@Component
配置文件格式的定时器
1、spring的配置文件
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:task="http://www.springframework.org/schema/task
"
xmlns:context="http://www.springframework.org/schema/c
ontext"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/sch
ema/beans
http://www.springframework.org/schema/beans/spring-
beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-
3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-
3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-
context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-
3.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-
task-3.0.xsd">
<task:annotation-driven /> <!-- 定时器开关-->
<bean id="myTaskXml"
class="com.spring.task.MyTaskXml"></bean>
<task:scheduled-tasks>
<!--
这里表示的是每隔五秒执行一次
-->
<task:scheduled ref="myTaskXml" method="show"
cron="*/5 * * * * ?" />
<task:scheduled ref="myTaskXml" method="print"
cron="*/10 * * * * ?"/>
<!-- 和注解的区别-->
</task:scheduled-tasks>
<!-- 自动扫描的包名 -->
<context:component-scan base-
package="com.spring.task" />
</beans>
2、基于xml的定时器任务
/**
* 基于xml的定时器
* @author hj
*/
public class MyTaskXml {
public void show(){
System.out.println("XMl:is show run");
}
public void print(){
System.out.println("XMl:print run");
}
}
CRON表达式 含义
"0 0 12 * * ?" 每天中午十二点触发
"0 15 10 ? * *" 每天早上10:15触发
"0 15 10 * * ?" 每天早上10:15触发
"0 15 10 * * ? *" 每天早上10:15触发
"0 15 10 * * ? 2005" 2005年的每天早上10:15触发
"0 * 14 * * ?" 每天从下午2点开始到2点59分每分钟一次触
发
"0 0/5 14 * * ?" 每天从下午2点开始到2:55分结束每5分钟
一次触发
"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55
分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?" 每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED" 三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI" 每个周一、周二、周三、周四、周五
的10:15触发
spring自带定时器的更多相关文章
- Spring 自带的定时任务
需要几天后,或者某个时间后,定时查询数据.需要用到Spring自带的一个注解 @Scheduled(cron="0/5 * * * * ? ")//每隔5秒钟执行 创建一个clas ...
- spring 缓存(spring自带Cache)(入门)源码解读
spring自带的缓存类有两个基础类:Cache(org.springframework.cache.Cache)类,CacheManager(org.springframework.cache.Ca ...
- spring 缓存(spring自带Cache)(入门)
spring的缓存机制,是方法纬度的缓存机制, 这就意味着我们并不用关注 底层是否使用了数据库以及通过什么方式访问的数据库: 因此,此缓存方法既适用于dao层,也适用于service层. spring ...
- Spring的quartz定时器同一时刻重复执行二次的问题解决
最近用Spring的quartz定时器的时候,发现到时间后,任务总是重复执行两次,在tomcat或jboss下都如此. 打印出他们的hashcode,发现是不一样的,也就是说,在web容器启动的时候, ...
- 关于Spring的Quartz定时器设定
在实际的开发业务中经常会遇到定时执行某个任务,如果项目使用的ssh框架的话,就需要配合spring来使用定时器.spring的定时器是一个固定的配置格式,具体的applicationContext配置 ...
- spring自带测试配置
spring自带的测试注解 @ContextConfiguration(locations="classpath:applicationContext.xml")@RunWith( ...
- spring cron表达式(定时器)
转: spring cron表达式(定时器) 写定时器时用到,记录一下: Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: ...
- Spring的quartz定时器重复执行二次的问题解决
Spring的quartz定时器同一时刻重复执行二次的问题解决 最近用Spring的quartz定时器的时候,发现到时间后,任务总是重复执行两次,在tomcat或jboss下都如此. 打印出他们的ha ...
- spring 自带框架及可替换框架
spring 自带框架 可替换框架 (可替换框架)是否推荐使用 spring security shiro 推荐使用 spring aop aspectj 集成aspectj使用 Shiro 对比 S ...
随机推荐
- kendo ui grid选中行事件,获取combobox选择的值
背景: 以前用 telerik ui做的grid现在又要换成kendo ui,不过说句实话kendo ui真的比telerik好多,可以说超级升级改头换面.当然用的mvc的辅助方法,以前的teleri ...
- 51Nod1203 2012集训队答辩 JZPLCM
A1339. JZPLCM(顾昱洲) 时间限制:3.0s 内存限制:256.0MB 试题来源 2012中国国家集训队命题答辩 问题描述 给定一长度为n的正整数序列a,有q次询问,每次询问一段区 ...
- php-迭代创建级联目录
方法一代码: path = './a/b/c/d/e/f'; $path_arr = explode('/',$path);//得到数组array('.','a','b','c','d','e','f ...
- 详解PHP反射API
PHP中的反射API就像Java中的java.lang.reflect包一样.它由一系列可以分析属性.方法和类的内置类组成.它在某些方面和对象函数相似,比如get_class_vars(),但是更加灵 ...
- linux 写U盘出现的问题
在写U盘的时候,报了这样的错,记录如下: umount /dev/sdb // 提示未挂载 mkfs.vfat /dev/sdb // device or resource busy umount / ...
- py2 to py3 return iterator
Views And Iterators Instead Of Lists Some well-known APIs no longer return lists: dict methods dict. ...
- Java Serializable接口(序列化)理解及自定义序列化
1 Serializable接口 (1)简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存在数据库,内存,文件等),然后可以在适当的时候再将其状态恢复(也就是反 ...
- vim置于后台,vim 编辑多文件
这里介绍一个很实用的方法:1.将vim置于后台,直接按 ctrl + z可以将当前的vim置于后台 2.然后可以去别的目录再打开一个 当你需要打开之前的vim的时候3.打jobs命令看当前有哪些vim ...
- composer安装laravel
安装composer composer是一个很有用的工具,我将用它在本机(win7)上安装laravel 到composer的官网,根据自己的系统要求下载相应的版本 安装laravel 首先cmd下进 ...
- Head First设计模式之代理模式
一.定义 定义:为其他对象提供一种代理以控制对这个对象的访问 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 二.结构 代理模式一般会有三个角色: 抽象角色(Subject):指代 ...