java.util.Timer
java.util.TimerTask
Demo:
java.util.TimerTask
import com.bonc.javax.DataCenter;
import com.bonc.security.util.VisitLogFunction;
import java.util.TimerTask;
/**
* 要定時執行任務,任務必須繼承自TimerTask
*
*/
class CheckUSerStatus extends TimerTask
{
CheckUSerStatus()
{
}
//執行任務
public void run()
{
DataCenter dc = new DataCenter();
try
{
dc.connect();
dc.setAutoCommit(false);
boolean success = VisitLogFunction.refreshUsersStatus(dc, 5, 2);
if(success)
dc.commit();
else
dc.rollback();
}
catch(Exception _ex)
{
dc.rollback();
_ex.printStackTrace();
}
finally
{
dc.disconnect();
}
return;
}
}
java.util.Timer
import java.util.Timer;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
// Referenced classes of package com.bonc.security.frame:
// CheckUSerStatus
//設定定時器的servlet
public class CheckOnlineUser extends HttpServlet
{
public CheckOnlineUser()
{
task = null;
timer = null;
}
//初始化
public final void init(ServletConfig config)
throws ServletException
{
//初始化一個任務實例
task = new CheckUSerStatus();
//創建一個定時器對象
timer = new Timer();
//每隔3分鐘執行一次任務
timer.schedule(task, 1000L, 30000L);
}
public void destroy()
{
if(timer != null)
{
timer.cancel();
timer = null;
}
if(task != null)
task = null;
}
private CheckUSerStatus task;
private Timer timer;
}