spring定時任務初體驗

定時任務很簡單,就是設置某個時間點,或者是每隔一段時間執行的任務。html


我是經過spring註解來配置的,下面記錄下配置過程:java

首先要作的是添加命名空間及描述:
spring

xmlns:task="http://www.springframework.org/schema/task"    <!-- 這個放在xmlns後面 -->
<!-- 下面這兩個加到 xsi:schemaLocation 裏 -->
    http://www.springframework.org/schema/task  
    http://www.springframework.org/schema/task/spring-task-3.1.xsd

而後啓用註解:編程

        <!-- 啓用註解 -->  
	<context:annotation-config/> 
	<context:component-scan base-package="com"/>  <!-- 自動掃描com開頭的包的註解-->
        <aop:aspectj-autoproxy/>  <!-- 切面編程,自動搜找-->
	<task:annotation-driven/>   <!-- 開啓定時器註解 -->

其餘application.xml就和之前的同樣,這樣配置以後就能使用註解來聲明一個定時器任務了。
app


而後建立定時器類:框架

新建一個包:com.erongdu.shopping.timer函數

在底下建立一個類:CountOrdersJob.javaspa

package com.erongdu.shopping.timer;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class CountOrdersJob {
    
	@Scheduled(cron="*/50 * * * * ?" )
	public void doCountOrders(){
	      System.out.println("這裏是具體執行的函數體");
	}
}

這是簡單的框架,我本身的定時任務太亂就不貼出來了,我提下注意點,code

1.類體上要打上@Component標註,聲明是spring的組件component

2.在具體的定時任務方法上打上@Scheduled

3.@Scheduled的屬性(本身能夠在標註後面按 alt+/ 彈出提示):

cron:指定cron表達式

fixedDelay:官方文檔解釋:An interval-based trigger where the interval is measured from the completion time of the previous task. The time unit value is measured in milliseconds.即表示從上一個任務完成開始到下一個任務開始的間隔,單位是毫秒。

fixedRate:官方文檔解釋:An interval-based trigger where the interval is measured from the start time of the previous task. The time unit value is measured in milliseconds.即從上一個任務開始到下一個任務開始的間隔,單位是毫秒

4.cron表達式:http://jason.hahuachou.com/

                              http://www.cnblogs.com/sunjie9606/archive/2012/03/15/2397626.html

相關文章
相關標籤/搜索