diff options
Diffstat (limited to 'id/server')
| -rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java | 29 | 
1 files changed, 6 insertions, 23 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java index e0552c337..bbb322a4f 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java @@ -8,6 +8,8 @@ import java.util.List;  import org.hibernate.HibernateException;  import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled;  import org.springframework.stereotype.Service;  import at.gv.egovernment.moa.id.advancedlogging.TransactionIDUtils; @@ -29,6 +31,7 @@ import at.gv.egovernment.moa.util.MiscUtil;   * @version $Id$   */  @Service("AuthenticationSessionCleaner") +@EnableScheduling  public class AuthenticationSessionCleaner implements Runnable {  	@Autowired private IAuthenticationSessionStoreage authenticationSessionStorage; @@ -36,7 +39,7 @@ public class AuthenticationSessionCleaner implements Runnable {  	@Autowired protected AuthConfiguration authConfig;    /** interval the <code>AuthenticationSessionCleaner</code> is run in */ -  private static final long SESSION_CLEANUP_INTERVAL = 5 * 60; // 5 min +  private static final long SESSION_CLEANUP_INTERVAL = 5 * 60 *1000 ; // 5 min  	/**  	 * Runs the thread. Cleans the <code>AuthenticationServer</code> session store @@ -45,8 +48,8 @@ public class AuthenticationSessionCleaner implements Runnable {     	 * Cleans up expired session and authentication data stores.   	 *      */ +  @Scheduled(fixedRate = SESSION_CLEANUP_INTERVAL)    public void run() { -    while (true) {        try {        	Logger.debug("AuthenticationSessionCleaner run");      		Date now = new Date(); @@ -66,7 +69,7 @@ public class AuthenticationSessionCleaner implements Runnable {      					try {      						try {      							Object entry = transactionStorage.get(entryKey); -    							//if entry is an exception --> log it because is could be unhandled +    							//if entry is an exception --> log it because it could be unhandled      							if (entry != null && entry instanceof ExceptionContainer) {    								      								ExceptionContainer exContainer = (ExceptionContainer) entry;    								 @@ -115,12 +118,6 @@ public class AuthenticationSessionCleaner implements Runnable {        } catch (Exception e) {          Logger.error(MOAIDMessageProvider.getInstance().getMessage("cleaner.01", null), e);        } -      try { -        Thread.sleep(SESSION_CLEANUP_INTERVAL * 1000); -      }  -      catch (InterruptedException e) { -      } -    }    }  	/** @@ -143,18 +140,4 @@ public class AuthenticationSessionCleaner implements Runnable {  			}			  		}		  	} -   -  /** -   * start the sessionCleaner -   */ -  public static void start(Runnable clazz) { -    // start the session cleanup thread -    Thread sessionCleaner = -      new Thread(clazz, "AuthenticationSessionCleaner"); -    sessionCleaner.setName("SessionCleaner"); -    sessionCleaner.setDaemon(true); -    sessionCleaner.setPriority(Thread.MIN_PRIORITY); -    sessionCleaner.start(); -  } -  } | 
