spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年12月28日, PM 05:37:54 星期一

http://fanshuyao.iteye.com/

一、计划任务实现类

1、用@Component注解标识计划任务类,这样spring可以自动扫描

2、在方法中使用注解标识要执行的方法:@Scheduled(cron="*/30 * * * * *")

3、周期可以使用cron,或者fixedRate,fixedRate=1000*30表示30秒执行一次,cron请自行百度或看下面的代码的说明

@Component
public class SpringTask { /**
* cron表达式:* * * * * *(共6位,使用空格隔开,具体如下)
* cron表达式:*(秒0-59) *(分钟0-59) *(小时0-23) *(日期1-31) *(月份1-12或是JAN-DEC) *(星期1-7或是SUN-SAT)
* 注意: 30 * * * * * 表示每分钟的第30秒执行,而(*斜杠30)表示每30秒执行
*
* */
@Scheduled(cron="*/30 * * * * *")
public void firstTask(){
System.out.println("==============it is first task!时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
}
}

二、需要在spring.xml配置文件中加入命名空间(xmlns:task)

本项目采用了spring4.1,所以用的是4.1

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">

三、增加包的扫描,一般在spring.xml文件都会有

主要是这个:<context:component-scan base-package="com.spring.*"></context:component-scan>

<context:component-scan base-package="com.spring.*">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

四、在spring.xml文件中配置计划任务

<task:annotation-driven scheduler="taskScheduler" mode="proxy"/>
<task:scheduler id="taskScheduler" pool-size="10"/>

也可以简单点配置,如下:

<task:annotation-driven />  

 五、然后启动web项目,就会看到每30秒就打印信息出来。

六、如果需要用到service类,可以注入。

@Autowired
private PushRecordService pushRecordService;

记得set get方法

public PushRecordService getPushRecordService() {
return pushRecordService;
} public void setPushRecordService(PushRecordService pushRecordService) {
this.pushRecordService = pushRecordService;
}

七,注意

同时还要添加一个aopaliaance.jar,否则会报错:noClassDefoundError:org/aopalliance/aop/Advice

地址:http://maven.ibiblio.org/maven2/aopalliance/aopalliance/1.0/

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年12月28日, PM 05:37:54 星期一

http://fanshuyao.iteye.com/

最新文章

  1. 3、ASP.NET MVC入门到精通——Entity Framework增删改查
  2. FineReport中如何进行Informix数据库连接
  3. Android应用开发SharedPreferences存储数据的使用方法
  4. 四、优化及调试--网站优化--SEO在网页制作中的应用
  5. 微信html5开发选哪一个
  6. sql server 2008 登录 4064 错误解决办法
  7. zend framerwork2.X系列安装创建应用
  8. R函数是对A方法的封装
  9. 错误:javax.servlet.jsp.PageContext can not be to a type
  10. Java获取某年某周的最后一天
  11. bootstrap兼容IE8 解决办法
  12. Solr In Action 笔记(4) 之 SolrCloud分布式索引基础
  13. Linux 服务器系统监控脚本 Shell【转】
  14. python_如何定义带参数的装饰器?
  15. EBS开发之环境迁移
  16. leetcode 买卖股票问题
  17. 树莓派进阶之路 (038) - P2P 文件下载机
  18. linux 查找java程序、杀死、重启
  19. (转)/etc/init.d/functions详解
  20. nohup 同时实现记录日志和屏幕输出

热门文章

  1. [转贴]C++、C#写的WebService相互调用
  2. 【Xamarin挖墙脚系列:应用的性能调优】
  3. Webx之表单验证
  4. bzoj1559
  5. GeoTools应用-DATA
  6. &lt;转&gt;如何将Chrome变成开发利器,开发者们在用这些插件
  7. SQL Server 2008设置 开启远程连接
  8. ASP.NET生命周期详解 [转]
  9. 关于ArrayList线程安全解决方案
  10. fetion for linux