M版 Spring MVC 排程設定



public class UpdatexxxxxTask {

@Scheduled(fixedDelay = 30000)
public void execute() {
try {
dosomething
} catch (Exception e) {
ApLog.error(e.getMessage(), e);
}
}
}

1.新增一個 CLASS 和 METHOD 並利用 ANNOTATION 增加要執行的排程

a. @Scheduled(fixedDelay = 30000)
執行完才會執行下一次(ms)

b. @Scheduled(fixedRate=5000)
不管這次執行是否完成,時間到了即執行下一次

c. @Scheduled(cron="*/5 * * * * MON-FRI")
同b, cron 的排程時間到了立即執行

2.在 SPRING-QUARTZ.XML 增加 BEAN

參考: src/main/resources/spring/spring-quartz.xml

3.可能存在的問題:

目前沒有特別設定哪一台機器要跑, 應該 critical, master, slaves 都會執行.
未來 task 更多、或是有需要指定機器執行時,可能需要類似 web 版獨立設定。