定時器注解 @Scheduled 使用 AND 任務開啟與關閉


 

 1 @Component
 2 @Slf4j
 3 //配置文件注入注解
 4 @PropertySource("classpath:/**.properties")
 5 public class TimerController {
 6     @Value("${SEND_TEL}")
 7     private String tel;
 8     @Value("${scheduled.enable}")   //配置文件中定時任務開關(true 或 false) 
 9     private String scheduledEnable;
10     public void timerTask(){
11       12         
13         try {
14     //如有多個值且需要一個一個取出再使用則需轉換遍歷
15             /**取出屬性文件中的電話號並加入list**/
16             String [] c=tel.split(",");
17             List<String> list = new ArrayList<>();
18             for(int i=0;i<c.length;i++){
19                 list.add(c[i]);
20 //                System.out.println(list.get(i));
21                 SendSmsResponse response = SmsUtils.sendSms(list.get(i),9999);
22             }
23         } catch (ClientException e) {
24             e.printStackTrace();
25         }
26     }
27     //* * 8,10,14,16 * * ?
28       /**每天8、10、14、16四個時間點執行任務**/
29         //${CRON} CRON為配置文件中的key  CRON=0 0 8,10,14,16 * * ?
30      @Scheduled(cron="${CRON}")
31     public void task(){
      //判斷定時任務開關屬性(true:開啟 false:關閉)
32 if(!Boolean.parseBoolean(scheduledEnable)){ 33 log.info("定時器已關閉!"); 34 return; 35 } 36 timerTask(); 37 log.info("定時器已開啟!"); 38 } 39 }


免責聲明!

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



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