最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring定時(shí)任務(wù)實(shí)現(xiàn)與配置(二)

 更新時(shí)間:2017年06月21日 11:19:40   作者:幻xiang  
這篇文章主要為大家詳細(xì)介紹了Spring定時(shí)任務(wù)的實(shí)現(xiàn)與配置第二篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

上一篇,原本我以為我實(shí)現(xiàn)的方式很簡(jiǎn)單了,在準(zhǔn)備寫(一)的時(shí)候,就去查了查別人是怎么實(shí)現(xiàn)定時(shí)任務(wù)的。不查還好,這一查,發(fā)現(xiàn)還有更簡(jiǎn)單的。所以就會(huì)有這篇文章。

本文主要是討論,在完成Spring 項(xiàng)目搭建的情況下完成簡(jiǎn)單的定時(shí)任務(wù)實(shí)現(xiàn)。

在上一篇中,我們實(shí)現(xiàn)了“最簡(jiǎn)單”的定時(shí)任務(wù),在那里我們是基于MAVEN管理包的依賴,依賴以下兩個(gè)包:

<!-- 定時(shí)器依賴 開始 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.0.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <version>2.2.1</version>
    </dependency>
    <!-- 定時(shí)器依賴 結(jié)束 -->

原本我想著 新的方法可能不需要呢,于是試試注釋掉會(huì)怎么樣,于是就出現(xiàn)了這樣的情況:

顯然我想錯(cuò)了,正式開始:

第一步,在maven的pom文件中添加上文列出的兩個(gè)包;

第二步,在spring配置管理xml頭部中,添加命名空間(大部分文獻(xiàn)都是這樣寫的,但還沒有找到正式的說法,如果有我會(huì)再修改這個(gè)名詞的,現(xiàn)在暫且用著)

<beans xmlns:task="http://www.springframework.org/schema/task"   
xsi:schemaLocation="http://www.springframework.org/schema/task          
http://www.springframework.org/schema/task/spring-task-4.1.xsd ">

第三步,在spring配置文件中配置定時(shí)任務(wù)相關(guān)內(nèi)容  

<task:annotation-driven scheduler="kevinScheduler"/>  
<task:scheduler id="kevinScheduler" pool-size="5"/> 

第四步,完成業(yè)務(wù)邏輯實(shí)現(xiàn)類:

import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.concurrent.TimeUnit; 
import org.joda.time.DateTime; 
import org.springframework.scheduling.annotation.Scheduled; 
import org.springframework.stereotype.Component; 
@Component 
public class ATask { 
    @Scheduled(cron="0/10 * * * * ? ")  //每10秒執(zhí)行一次   
    public void aTask(){   
      try { 
        TimeUnit.SECONDS.sleep(20); 
      } catch (InterruptedException e) { 
        e.printStackTrace(); 
      } 
      DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
      System.out.println(sdf.format(DateTime.now().toDate())+"*********A任務(wù)每10秒執(zhí)行一次進(jìn)入測(cè)試");   
    }   
}

這樣的方式比配置的更為簡(jiǎn)單,但是我認(rèn)為配置的方式會(huì)更加靈活,當(dāng)然實(shí)現(xiàn)的方式方法很多。我們只討論最簡(jiǎn)單的實(shí)現(xiàn),顯然這個(gè)是我看到的最簡(jiǎn)單的實(shí)現(xiàn)方法。

開啟服務(wù),我們來看看效果:

大致就這樣完成了,但是這里我發(fā)現(xiàn)好像遇到了上一篇文章結(jié)尾的時(shí)候,提到的同一時(shí)間點(diǎn)運(yùn)行了兩次代碼。我得再看看 ,如果有知道的朋友請(qǐng)給我留言!

下一篇是寫關(guān)于cron 表達(dá)式

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

博乐市| 会宁县| 宿迁市| 万盛区| 光泽县| 邯郸市| 水富县| 水富县| 克山县| 楚雄市| 富阳市| 紫阳县| 肥西县| 奉节县| 定西市| 奉新县| 和硕县| 微博| 平度市| 凤翔县| 建湖县| 青神县| 南开区| 嫩江县| 黑山县| 万载县| 怀仁县| 宁波市| 宜良县| 临洮县| 泌阳县| 阿克| 龙州县| 西乌珠穆沁旗| 江津市| 抚松县| 营山县| 山西省| 沙湾县| 盘锦市| 丹阳市|