📄 timer.java.svn-base
字号:
/*
* Copyright(C) 2008, NTT AT Co., Ltd.
* Project: AWGStar
*
* Notes:
* N/A
*
* Record of change:
* Date Version Name Content
* 2008/12/15 1.0 TuanNA First create
*/
package jp.co.ntt.awgview.server.dao;
import java.util.TimerTask;
import java.util.Vector;
import jp.co.ntt.awgview.server.common.LogWriter;
import jp.co.ntt.awgview.server.vo.UserVO;
/**
* Class name : Timer <BR>
*
* Package : jp.co.nttat.awgstar.server.dao <BR>
*
* Description: This thread created to periodic to check any clients timed out.
* When client timeout, it will be removed from list users logged in and release
* some resources to reuse for another user<BR>
*
* @author : AI&T
* @version : 1.0
*/
public class Timer extends TimerTask {
/**
* This method provides function to check any clients timed out
*/
public void run(){
Vector<UserVO> vtUserOnline = DBFunctionsManager.getListUserOnline();
// LogWriter.getDBLogger().info("users online: " + vtUserOnline.size());
for (int i = 0; i < vtUserOnline.size(); i++){
UserVO _uvo = vtUserOnline.get(i);
int ctime = _uvo.getCountTimeAccess();
/*When thread check user in list, it will increase 1 unit for
*counter that corresponding for each user
*/
ctime++;
_uvo.setCountTimeAccess(ctime);
DBFunctionsManager.join(_uvo);
LogWriter.getDBLogger().info("user ip:" +_uvo.getIPAddress()+" Count Time = "+ctime);
LogWriter.getDBLogger().info("check user: <name: " + _uvo.getName()+ ","
+ _uvo.getIPAddress()+ "> --> Count Time: " + ctime);
//If counter number for each user is more than number of time ratio send
//living sign on client, so that is time probably client stopped working
//or network break down. So, the system want to release resource for this.
if(ctime > DBFunctionsManager.getTimeRateChkAlive()){
//remove from list user online
DBFunctionsManager.unjoin(_uvo.getIPAddress());
//Release queue name resource
DBFunctionsManager.releaseQueueRes(_uvo.getRequestQueueName(), _uvo.getReplyQueueName());
//Delete virtual view table of trap and operation log if exists
DBFunctionsManager.deleteViewTbl(_uvo.getAlarmViewTbl());
DBFunctionsManager.deleteViewTbl(_uvo.getOperationViewTbl());
LogWriter.getDBLogger().info("Removed user: <name: " + _uvo.getName()+ ","
+ _uvo.getIPAddress()+ "> --> remain users:"
+ DBFunctionsManager.getListUserOnline().size());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -