spring定時任務的注解實現方式


STEP 1:在spring配置文件中添加相應配置,以支持定時任務的注解實現

(一)在xml里加入task的命名空間

<!-- 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-3.1.xsd 

(二)啟用注解驅動的定時任務

<task:annotation-driven scheduler="scheduler"/> 

(三)配置定時任務的線程池

注:spring定時任務默認單線程推薦配置線程池,若不配置多任務下會有問題。

<task:scheduler id="scheduler" pool-size="10" />

以上配置完成后,后續無需再修改配置文件。

STEP 2:代碼部分只需要加上兩個注解即可

import java.util.Date;  
  
import org.springframework.scheduling.annotation.Scheduled;  
import org.springframework.stereotype.Component;  
  
@Component("taskJob") public class Test {  
    @Scheduled(cron = "0/5 * * * * ?") public void showTime() {    
        System.out.println(new Date());    
    }   
} 

(一)在定時類上加@Component("taskJob")

(二)在需要定時執行的方法上加@Scheduled,其中

@Scheduled(fixedRate = 60000)  表示每60秒執行一次

@Scheduled(cron = "0 0 1 * * ?")  表示每天凌晨1點時執行(在線cron表示式生成器:http://cron.qqe2.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM