From: <fza...@us...> - 2005-11-30 22:04:37
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts/apps/ajaxchat/daemon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13448/WEB-INF/src/org/apache/struts/apps/ajaxchat/daemon Added Files: UserClearerDaemonThread.java package.html Log Message: --- NEW FILE: UserClearerDaemonThread.java --- /* * Copyright 2005 Frank W. Zammetti * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.struts.apps.ajaxchat.daemon; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts.apps.ajaxchat.AjaxChatConfig; import org.apache.struts.apps.ajaxchat.dao.AjaxChatDAO; /** * This thread executes every X seconds and checks for inactive users. If a * user is found to be inactive, they are removed from any room they are in, * as well as from the app itself. Inactivity is determined by looking at the * lastAJAXRequest field of the user object. If it is more than X seconds old, * the user is considered inactive. * * @author <a href="mailto:fra...@pf...">Frank W. Zammetti</a> */ public class UserClearerDaemonThread extends Thread { /** * Log instance. */ private static Log log = LogFactory.getLog(UserClearerDaemonThread.class); /** * Main thread run method. */ public void run() { while (true) { try { log.info("UserClearerDaemonThread executing next iteration..."); // The DAO actually does all the heavy lifting, so give it a call. AjaxChatDAO dao = AjaxChatDAO.getInstance(); dao.removeInactiveUsers(); // Sleep for X seconds as configured. sleep(AjaxChatConfig.getUserInactivitySeconds() * 1000); } catch (Exception e) { log.error("An exception occurred in UserClearerDaemonThread: " + e); e.printStackTrace(); } // End try } // End while } // End run() } // End Class --- NEW FILE: package.html --- <body> The org.apache.struts.apps.ajaxchat.daemon package contains the UserClearerDaemonThread, which is a background thread that runs to properly clear out users in various situations. </body> |