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

Spring整合TimerTask實現(xiàn)定時任務調(diào)度

 更新時間:2016年12月29日 15:44:37   作者:zdp072  
這篇文章主要介紹了Spring整合TimerTask實現(xiàn)定時任務調(diào)度的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一. 前言

最近在公司的項目中用到了定時任務, 本篇博文將會對TimerTask定時任務進行總結(jié), 其實TimerTask在實際項目中用的不多,
因為它不能在指定時間運行, 只能讓程序按照某一個頻度運行.

二. TimerTask

JDK中Timer是一個定時器類, 它可以為指定的定時任務進行配置.
JDK中TimerTask是一個定時任務類, 該類實現(xiàn)了Runnable接口, 是一個抽象類, 我們可以繼承這個類, 實現(xiàn)定時任務.

/** 
 * 繼承TimerTask實現(xiàn)定時任務 
 */ 
public class MyTask extends TimerTask { 
 
  @Override 
  public void run() { 
    String currentTime = new SimpleDateFormat("yyy-MM-dd hh:mm:ss").format(new Date()); 
    System.out.println(currentTime + " 定時任務正在執(zhí)行..."); 
  } 
 
  public static void main(String[] args) { 
    Timer timer = new Timer(); 
     
    // 1秒鐘執(zhí)行一次的任務, 參數(shù)為: task, delay, peroid 
    timer.schedule(new MyTask(), 2000, 1000); 
  } 
} 

三. 整合Spring

兩個核心類: ScheduledTimerTask, TimerFactoryBean
ScheduledTimerTask類是對TimerTask的包裝器實現(xiàn), 通過該類可以為這個任務定義觸發(fā)器信息.
TimerFactoryBean類可以讓Spring使用配置創(chuàng)建觸發(fā)器, 并為一組指定的ScheduledTimerTask bean自動創(chuàng)建Timer實例.

1. 引入Jar包: spring.jar, commons-logging.jar
2. 定時調(diào)度業(yè)務類:

/** 
 * 定時調(diào)度業(yè)務類 
 */ 
public class TaskService extends TimerTask { 
  private int count = 1; 
 
  public void run() { 
    System.out.println("第" + count + "次執(zhí)行定時任務"); 
    count++; 
  } 
} 

3. 核心配置:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://www.springframework.org/schema/beans  
  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
   
  <bean id="taskService" class="com.zdp.service.TaskService"></bean> 
  <bean id="scheduledTimerTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"> 
    <property name="timerTask" ref="taskService" /> 
     
    <!-- 每隔一天執(zhí)行一次配置: 24*60*60*1000 --> 
    <!-- 每1秒鐘程序執(zhí)行一次 --> 
    <property name="period" value="1000" /> 
     
    <!-- 程序啟動4秒鐘后開始執(zhí)行 --> 
    <property name="delay" value="4000" /> 
  </bean> 
   
  <bean id="timerFactoryBean" class="org.springframework.scheduling.timer.TimerFactoryBean"> 
    <property name="scheduledTimerTasks"> 
      <list> 
        <ref bean="scheduledTimerTask" /> 
      </list> 
    </property> 
  </bean> 
</beans> 

4. 測試類:

public class Main { 
  public static void main(String[] args) { 
    // 加載spring配置文件 
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 
    System.out.println("<<-------- 啟動定時任務 -------- >>"); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
    while (true) { 
      try { 
        if (reader.readLine().equals("quit")) { 
          System.out.println("<<-------- 退出定時任務 -------- >>"); 
          System.exit(0); 
        } 
      } catch (IOException e) { 
        throw new RuntimeException("error happens...", e); 
      } 
    } 
  } 
} 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java自動添加重寫的toString方法詳解

    Java自動添加重寫的toString方法詳解

    在本篇文章里小編給大家整理了關于Java自動添加重寫的toString方法總結(jié),需要的朋友們學習下。
    2019-07-07
  • Spring異常實現(xiàn)統(tǒng)一處理的方法

    Spring異常實現(xiàn)統(tǒng)一處理的方法

    這篇文章主要介紹了Spring異常實現(xiàn)統(tǒng)一處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • SpringBoot屬性綁定與bean屬性校驗實現(xiàn)方法詳解

    SpringBoot屬性綁定與bean屬性校驗實現(xiàn)方法詳解

    這篇文章主要介紹了SpringBoot屬性綁定與bean屬性校驗實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-11-11
  • 解析Java中所有錯誤和異常的父類java.lang.Throwable

    解析Java中所有錯誤和異常的父類java.lang.Throwable

    這篇文章主要介紹了Java中所有錯誤和異常的父類java.lang.Throwable,文章中簡單地分析了其源碼,說明在代碼注釋中,需要的朋友可以參考下
    2016-03-03
  • 在SpringBoot環(huán)境中使用Mockito進行單元測試的示例詳解

    在SpringBoot環(huán)境中使用Mockito進行單元測試的示例詳解

    Mockito是一個流行的Java?mocking框架,它允許開發(fā)者以簡單直觀的方式創(chuàng)建和使用模擬對象(mocks),Mockito特別適用于在Spring?Boot環(huán)境中進行單元測試,所以本文介紹了在SpringBoot環(huán)境中使用Mockito進行單元測試的示例,需要的朋友可以參考下
    2024-11-11
  • Spring-data-redis操作redis知識總結(jié)

    Spring-data-redis操作redis知識總結(jié)

    這篇文章主要介紹了Spring-data-redis操作redis知識總結(jié),spring-data-redis是spring-data模塊的一部分,專門用來支持在spring管理項目對redis的操作。
    2017-04-04
  • Mybatis-plus?sql注入及防止sql注入詳解

    Mybatis-plus?sql注入及防止sql注入詳解

    mybatis-plus提供了許多默認單表 CRUD 語句,對于其他SQL情況愛莫能助,下面這篇文章主要給大家介紹了關于Mybatis-plus?sql注入及防止sql注入的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • Java算法設計與分析分治算法

    Java算法設計與分析分治算法

    這篇文章主要介紹了Java算法設計與分析分治算法,一般分治算法在正文中分解為兩個即以上的遞歸調(diào)用,并且子類問題一般是不想交的
    2022-07-07
  • 淺談Spring IoC容器的依賴注入原理

    淺談Spring IoC容器的依賴注入原理

    這篇文章主要介紹了淺談Spring IoC容器的依賴注入原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • spring boot如何添加攔截器

    spring boot如何添加攔截器

    本篇文章主要介紹了spring boot如何添加攔截器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

麟游县| 邵阳县| 赣州市| 诸暨市| 兴仁县| 巧家县| 宜良县| 财经| 灵璧县| 商南县| 边坝县| 仙桃市| 略阳县| 图木舒克市| 嘉定区| 南皮县| 藁城市| 南溪县| 福鼎市| 鲁甸县| 庄浪县| 濮阳市| 锦屏县| 祁阳县| 西华县| 五家渠市| 兴安盟| 鸡泽县| 绥德县| 长垣县| 大连市| 武山县| 合江县| 福海县| 垫江县| 宜阳县| 基隆市| 塘沽区| 屏边| 安丘市| 通山县|