在web專案中新增定時器
在JAVA專案中常常需要程式定時自動執行一些操作,比如快取中資料的更新等等,那麼這個時候就需要用到定時器去定時執行任務。
廢話不說了,直接上專案吧。
首先建立一個監聽器,在監聽器中加入Util包中的定時任務
package Listener;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyFirstListener implements ServletContextListener {
private Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(true);
// 設定任務計劃,啟動和間隔時間(以毫秒為單位)
timer.schedule(new MyFirstTask (), 0, 20000);
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
}
}
然後制定一個執行的任務類
package Listener;
import java.sql.SQLException;
import java.util.TimerTask;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MyFirstTask extends TimerTask {
public void run() {
System.out.println("定時任務 => Hello World!");
}
}
最後將這個監聽器在web.xml中註冊即可
<listener>
<listener-class>Listener.MyListener</listener-class>
</listener>