sessionkeepaliverunner.java

来自「主要是对串口驱动的的一些控制源码!!! 在下载javacomm20-win32」· Java 代码 · 共 99 行

JAVA
99
字号
/**
 * $Log: SessionKeepAliveRunner.java,v $
 * Revision 1.1  2003/01/16 13:12:40  mwulff
 * initial version
 *
 * Revision 1.3  2002/12/20 18:52:25  mwulff
 * no message
 *
 * Revision 1.2  2002/12/15 16:55:07  mwulff
 * adjusted to reorganisation of the client logging system
 *
 * Revision 1.1  2002/12/13 20:08:22  mwulff
 * no message
 *
 */
package de.fhm.jkf.comm.cl;

import de.fhm.jkf.comm.clsv.KeepAliveRequest;
import de.fhm.jkf.comm.clsv.Request;
import de.fhm.jkf.comm.clsv.Response;
import de.fhm.jkf.resource.cl.JKFClientLogger;

/**
 * @author	marten wulff
 * 
 * * <br><br><center><table border="1" width="80%"><hr>
 * <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
 * <p>
 * Copyright (C) 2002 by Marten Wulff
 * <p>
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * <p>
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * <p>
 * You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
 * GNU Lesser General Public License</a> along with this library; if not, write to
 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA  02111-1307  USA
 * <hr></table></center>
 */
class SessionKeepAliveRunner
	extends CommunicationHandler
	implements Runnable {
	
	// action every 5 mins
	private static long interval = 300000;

	private static SessionManager sessionManager = SessionManager.instance();

	SessionKeepAliveRunner() {
		super();
	}
	

	public void run() {

		while (true) {
			
			// sleep till next keep alive request
			try {
				Thread.sleep(interval);
			} catch (InterruptedException ignored) {
			}		

			if (JKFClientLogger.isDebugEnabled()) {
				JKFClientLogger.debug("Starting keep alive request");
			}

			try{
				connect();
			}catch(Exception ex) {
				JKFClientLogger.error(ex);
			}
						
			if(JKFClientLogger.isDebugEnabled()) {
				JKFClientLogger.debug("Finished keep alive request");
			}	
		}
	}
	
	void connect() throws Exception {
		
		Request request = new KeepAliveRequest();
		Response response = null;
		
		prepareConnection(request);
		this.compressionHandler.sendObject(request);
		response = (Response) this.compressionHandler.receiveObject();
					
		followUpConnection(response);			
	}	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?