關於springboot如何做一個定時任務
關於springboot如何做一個定時任務
- 首先我們需要用到Tomcat的監聽器ServletContextListener,我們將需要寫的一個定時任務類繼承ServletContextListener,ServletContextListener有兩個重寫方法,分別是contextInitialized和contextDestroyed,將你需要伺服器開始時要監控的定時任務寫在contextInitialized方法中,將你需要在伺服器關閉時做的一些處理寫在contextDestroyed,就可以很方便的完成你的需求,程式碼如下:
@WebListener
public class ContextListener implements ServletContextListener {
@Autowired
private CustomerService customerServiceImpl;
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
// 定時任務
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
Calendar cal = Calendar.getInstance();
int day_of_month = cal.get(Calendar.DAY_OF_MONTH);
if (day_of_month == 20) {
customerServiceImpl.userBonus();
}
}
}, 0, 3600 * 24 * 1000);
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
System.out.println("Destroyed");
}
}
2.@WebListener註解是springboot監聽器的一個註解,所有監聽器實體類都需要加上這個註解,並且在springboot的啟動類Application當中,還需要加上一個能掃描全域性的監聽器過濾器的一個註解,那就是@ServletComponentScan,程式碼如下:
@ServletComponentScan
@SpringBootApplication
@MapperScan("*.mapper")
public class MMApplication {
public static void main(String[] args) {
SpringMMApplication.run(MMApplication.class, args);
}
}
相關文章
- SpringBoot定時任務Spring Boot
- springboot:定時任務Spring Boot
- 關於beego的定時任務Go
- SpringBoot 定時任務ScheduledSpring Boot
- springboot(九):定時任務Spring Boot
- springboot定時任務之旅Spring Boot
- springboot定時任務@ScheduledSpring Boot
- 關於定時任務的一些雜談
- SpringBoot整合Quartz定時任務Spring Bootquartz
- SpringBoot與非同步任務、定時任務、郵件任務Spring Boot非同步
- SpringBoot執行定時任務@ScheduledSpring Boot
- SpringBoot系列——動態定時任務Spring Boot
- SpringBoot如何實現定時任務Spring Boot
- springboot Quartz 定時任務工具類Spring Bootquartz
- Springboot-之定時任務,啟動執行任務Spring Boot
- linux實現一個定時任務Linux
- java springboot 實現定時器任務JavaSpring Boot定時器
- SpringBoot第十七篇:定時任務Spring Boot
- springboot定時任務優雅退出方案Spring Boot
- SpringBoot之非同步、定時、郵件任務Spring Boot非同步
- springcloud +springboot 社交電子商務-定時任務@ScheduledGCCloudSpring Boot
- SpringBoot踩坑日記-定時任務不定時了?Spring Boot
- springboot整合quarzt實現動態定時任務Spring Boot
- 玩轉SpringBoot:SpringBoot的幾種定時任務實現方式Spring Boot
- 定時任務
- 基於redis實現定時任務Redis
- SpringBoot專案動態定時任務之 ScheduledTaskRegistrar(解決方案一)Spring Boot
- SpringBoot中併發定時任務的實現、動態定時任務的實現(看這一篇就夠了)Spring Boot
- springboot整合Quartz實現動態配置定時任務Spring Bootquartz
- SpringBoot下使用定時任務的方式全揭祕Spring Boot
- Java 中的定時任務(一)Java
- SpringTask定時任務Spring
- Oracle定時任務Oracle
- Navicat定時任務
- schedule 定時任務
- 定時任務scheduler
- 定時任務操作
- @Scheduled 定時任務