TimerTask用法

市場部門要求有一個定時發佈書籍章節的功能,因此就用到了TimerTask


package com.sophie.task;

import java.util.TimerTask;

import org.springframework.beans.factory.annotation.Autowired;

import com.sophie.OriginalQuartzManager;

public class ReleaseTask extends TimerTask {
  @Autowired
  OriginalQuartzManager originalQuartzManager;
   private static boolean isRunning = false; //避免重複調用

  @Override
   public void run() {
     if(!isRunning){
      isRunning = true;
      releaseChapter();
      isRunning = false;
    }
  }

   public void releaseChapter() {
    originalQuartzManager.releaseChapter();
  }

}


spring配置
   < bean id ="releaseTask" class ="com.sophie.task.ReleaseTask" >
   </ bean >
   < bean id ="scheduledTask" class ="org.springframework.scheduling.timer.ScheduledTimerTask" >
<!-- 系統啓動後60秒開始執行 -->
     < property name ="delay" value ="60000" />
<!-- 每60秒執行一次 --> 
     < property name ="period" value ="60000" />
     < property name ="timerTask" ref ="releaseTask" />
   </ bean >
   < bean id ="timerFactory" class ="org.springframework.scheduling.timer.TimerFactoryBean" >
     < property name ="scheduledTimerTasks" >
     < list >
       < ref local ="scheduledTask" />
     </ list >
     </ property >
   </ bean >
相關文章
相關標籤/搜索