Java定時器

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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章