1. 程式人生 > >在web專案中新增定時器

在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>