Spring MVC 定时任务注解说明

 实例:

Task类:

Java对应代码:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package  com.axb.cheney.task;  
import  java.sql.ResultSet;  
import  java.sql.SQLException;  
import  org.springframework.scheduling.annotation.Scheduled;  
import  org.springframework.stereotype.Component;  
   
/**   
  * 心跳更新。启动时执行一次,之后每隔2秒执行一次   
  * @Scheduled(fixedRate = 1000*2)  
  */ 
   
@Component 
public  class  ManageSql {  
   
     @Scheduled (cron= "0/30 * * * * ? " //间隔5秒执行      
     public  void  test(){  
         System.out.println( "定时任务开始啦,哈哈哈" );  
         System.out.println( "<<<---------结束执行HR数据同步任务--------->>>" );  
     }  
}  

 

 

配置:

中添加以下对应内容 :
1、xmlns 加下面的内容:

xmlns:task="http://www.springframework.org/schema/task"


2、然后xsi:schemaLocation加下面的内容:
http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-4.1.xsd


3、最后是我们的task任务扫描注解
<task:annotation-driven/>


4、配置的扫描位置是
<context:component-scan base-package="com.XXX.task"></context:component-scan>

添加后,如下图所示:


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

1
2
3
4
5
//定义一个按时间执行的定时任务,在每天1:00执行一次。
@Scheduled (cron =  "0 0 1* * ?"
public  void  run() {
   //执行代码
}

  example

1
2
3
4
5
6
7
8
9
10
11
"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 触发 

 




注意:

  1、spring的注解@Scheduled  需要写在实现方法上;

  2、定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true),不能指向任何的参数;

  3、如果该方法需要与应用程序上下文的其他对象进行交互,通常是通过依赖注入来实现;

  4、实现类上要有组件的注解@Component。


猜你喜欢

转载自blog.csdn.net/xiaoyangsavvy/article/details/80167486
今日推荐