⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.java

📁 this is example use EJB with jboss.
💻 JAVA
字号:
/*
 * 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 + -