Spring Mvc中使用Task實現定時任務,以及遇到的一個問題


Spring中實現定時任務其實很簡單,可以使用spring中自帶的task 相當於輕量級的Quartz,並且spring 3.0 之后支持注解的方式,使用起來非常簡單,方便,具體實現如下:

第一步,修改spring.xml配置文件

在xsi:schemaLocation中加入

1 http://www.springframework.org/schema/task
2 http://www.springframework.org/schema/task/spring-task-3.2.xsd

同時加入

1 xmlns:task="http://www.springframework.org/schema/task

第二步,開啟task注解

1 <task:annotation-driven/>

第三步,編寫作業類,並在作業類中加入注解

 1 @Component("myTask")
 2 @Lazy(false)
 3 public class MyTask {
 4 
 5     @Scheduled(cron="0/5 * * * * ?")
 6     public void run(){
 7         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 8         System.out.println(sdf.format(new Date()) + "定時任務執行");
 9     }
10 }

注意:使用Lazy注解是因為spring 配置文件采用懶加載的原因default-lazy-init="true" 這個配置會導致 @Scheduled失效

 


免責聲明!

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



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