Fix for - The method setMaxInactiveInterval of session is not effective
							parent
							
								
									c67ef154e8
								
							
						
					
					
						commit
						2720d91581
					
				|  | @ -143,7 +143,7 @@ public class SessionManager extends ManagerBase implements Lifecycle { | |||
| 
 | ||||
| 		initialize(); | ||||
| 
 | ||||
| 		log.info("The sessions will expire after " + (getSessionTimeout()) + " seconds."); | ||||
| 		log.info("The sessions will expire after " + (getSessionTimeout(null)) + " seconds."); | ||||
| 		context.setDistributable(true); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -171,7 +171,7 @@ public class SessionManager extends ManagerBase implements Lifecycle { | |||
| 			session.setNew(true); | ||||
| 			session.setValid(true); | ||||
| 			session.setCreationTime(System.currentTimeMillis()); | ||||
| 			session.setMaxInactiveInterval(getSessionTimeout()); | ||||
| 			session.setMaxInactiveInterval(getSessionTimeout(session)); | ||||
| 			session.tellNew(); | ||||
| 		} | ||||
| 		setValues(sessionId, session, false, new SessionMetadata()); | ||||
|  | @ -230,7 +230,7 @@ public class SessionManager extends ManagerBase implements Lifecycle { | |||
| 					newSession.setNew(false); | ||||
| 					newSession.setValid(true); | ||||
| 					newSession.resetDirtyTracking(); | ||||
| 					newSession.setMaxInactiveInterval(getSessionTimeout()); | ||||
| 					newSession.setMaxInactiveInterval(getSessionTimeout(newSession)); | ||||
| 
 | ||||
| 					session = newSession; | ||||
| 					isPersisted = true; | ||||
|  | @ -310,7 +310,7 @@ public class SessionManager extends ManagerBase implements Lifecycle { | |||
| 				setValues(true, metadata); | ||||
| 			} | ||||
| 
 | ||||
| 			int timeout = getSessionTimeout(); | ||||
| 			int timeout = getSessionTimeout(newSession); | ||||
| 			this.dataCache.expire(newSession.getId(), timeout); | ||||
| 			log.trace("Session [" + newSession.getId() + "] expire in [" + timeout + "] seconds."); | ||||
| 
 | ||||
|  | @ -346,9 +346,10 @@ public class SessionManager extends ManagerBase implements Lifecycle { | |||
| 	/** | ||||
| 	 * @return | ||||
| 	 */ | ||||
| 	private int getSessionTimeout() { | ||||
| 	private int getSessionTimeout(Session session) { | ||||
| 		int timeout = getContextIns().getSessionTimeout() * 60; | ||||
| 		return (timeout < 1800) ? 1800 : timeout; | ||||
| 		int sessionTimeout = (session == null) ? 0 : session.getMaxInactiveInterval() * 60; | ||||
| 		return (sessionTimeout < timeout) ? ((timeout < 1800) ? 1800 : timeout) : sessionTimeout; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Ranjith
						Ranjith