Spring監(jiān)聽器及定時任務實現(xiàn)方法詳解
背景:在原SSM項目中,擬定在每晚的23:59:59執(zhí)行一個批處理任務。
設計思路:用jdk自帶的定時器觸發(fā)任務執(zhí)行,設置下次執(zhí)行間隔為24小時。定時任務由spring的監(jiān)聽器去啟動。
jdk版本:1.8.0
上代碼
web.xml,添加監(jiān)聽
<listener> <listener-class>com.test.listener.Listener</listener-class> </listener>
添加監(jiān)聽類
import com.test.timmer.TimmerTest; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import java.util.Calendar; import java.util.Timer; public class Listener implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { System.out.println("啟動監(jiān)聽。。。。。。。。。。。。。。。。。"); //定時器 Timer timer = new Timer(); //定時任務對象 TimmerTest task = new TimmerTest(); //指定到23:59:59 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY,23); calendar.set(Calendar.MINUTE,59); calendar.set(Calendar.SECOND,59); //每天的23:59:59秒執(zhí)行任務,下次執(zhí)行延遲時長為24小時 timer.schedule(task, calendar.getTime(), 24*60*60*1000); } public void contextDestroyed(ServletContextEvent sce) { } }
添加定時任務實例,jdk的定時任務類需繼承 java.util.TimerTask 抽象類
package com.test.timmer; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimerTask; public class TimmerTest extends TimerTask { public void run() { Date dt = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒"); System.out.println(sdf.format(new Date())+",執(zhí)行定時任務"); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
java中Pulsar?InterruptedException?異常
這篇文章主要為大家介紹了java中Pulsar?InterruptedException?異常分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02Java統(tǒng)計字符串中字符出現(xiàn)次數(shù)的方法示例
這篇文章主要介紹了Java統(tǒng)計字符串中字符出現(xiàn)次數(shù)的方法,涉及Java針對字符串的遍歷、查找、計算等相關操作技巧,需要的朋友可以參考下2017-12-12springmvc—handlermapping三種映射方式
這篇文章主要介紹了springmvc—handlermapping三種映射方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09詳解在spring boot中配置多個DispatcherServlet
本篇文章主要介紹了詳解在spring boot中配置多個DispatcherServlet,具有一定的參考價值,有興趣的可以了解一下。2017-03-03Spring boot項目使用thymeleaf模板過程詳解
這篇文章主要介紹了Spring boot項目使用thymeleaf模板過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07