From 3aa85cd588b745fb2537dbe748580d9c3b980133 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 8 Sep 2015 17:38:07 +0200 Subject: Compilable... --- .../serversession/ServerSessionManager.java | 37 ++++++++-------------- 1 file changed, 13 insertions(+), 24 deletions(-) (limited to 'src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java') diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java b/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java index 49e9ebe..4171ea4 100644 --- a/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java +++ b/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java @@ -4,22 +4,20 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.UUID; +import java.util.concurrent.TimeUnit; -import org.apache.log4j.Logger; -import org.openslx.imagemaster.session.SessionManager; -import org.openslx.imagemaster.thrift.iface.ServerSessionData; +import org.openslx.bwlp.thrift.iface.ServerSessionData; import org.openslx.imagemaster.util.Hash; +import org.openslx.util.QuickTimer; +import org.openslx.util.QuickTimer.Task; /** * Manages all server sessions and kicks timed out sessions. */ public class ServerSessionManager { - private static Logger log = Logger.getLogger( SessionManager.class ); - // Map of currently known sessions private static final Map serverSessions = new LinkedHashMap(); - private static final Thread gcThread; public static ServerSessionData addSession( ServerSession serverSession ) { @@ -45,30 +43,21 @@ public class ServerSessionManager } static { - gcThread = new Thread( new Runnable() { - + QuickTimer.scheduleAtFixedDelay( new Task() { @Override - public void run() + public void fire() { - for ( ;; ) { - try { - Thread.sleep( 1800L * 1000L ); - } catch ( InterruptedException e ) { - } - synchronized ( serverSessions ) { - Iterator it = serverSessions.values().iterator(); - while ( it.hasNext() ) { - final ServerSession s = it.next(); - if ( s.timedOut() ) { - log.debug( "Removing old session of " + s.getOrganization() ); - it.remove(); - } + synchronized ( serverSessions ) { + Iterator it = serverSessions.values().iterator(); + while ( it.hasNext() ) { + final ServerSession s = it.next(); + if ( s.timedOut() ) { + it.remove(); } } } } - } ); - gcThread.start(); + }, 911, TimeUnit.MINUTES.toMillis( 14 ) ); } } -- cgit v1.2.3-55-g7522