Add Default Expiration Option to MapSessionRepository
Fixes gh-73
This commit is contained in:
@@ -33,6 +33,11 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
* @since 1.0
|
||||
*/
|
||||
public class MapSessionRepository implements SessionRepository<ExpiringSession> {
|
||||
/**
|
||||
* If non-null, this value is used to override {@link ExpiringSession#setMaxInactiveInterval(int)}.
|
||||
*/
|
||||
private Integer defaultMaxInactiveInterval;
|
||||
|
||||
private final Map<String,ExpiringSession> sessions;
|
||||
|
||||
/**
|
||||
@@ -54,6 +59,14 @@ public class MapSessionRepository implements SessionRepository<ExpiringSession>
|
||||
this.sessions = sessions;
|
||||
}
|
||||
|
||||
/**
|
||||
* If non-null, this value is used to override {@link ExpiringSession#setMaxInactiveInterval(int)}.
|
||||
* @param defaultMaxInactiveInterval
|
||||
*/
|
||||
public void setDefaultMaxInactiveInterval(int defaultMaxInactiveInterval) {
|
||||
this.defaultMaxInactiveInterval = Integer.valueOf(defaultMaxInactiveInterval);
|
||||
}
|
||||
|
||||
public void save(ExpiringSession session) {
|
||||
sessions.put(session.getId(), new MapSession(session));
|
||||
}
|
||||
@@ -77,6 +90,10 @@ public class MapSessionRepository implements SessionRepository<ExpiringSession>
|
||||
}
|
||||
|
||||
public ExpiringSession createSession() {
|
||||
return new MapSession();
|
||||
ExpiringSession result = new MapSession();
|
||||
if(defaultMaxInactiveInterval != null) {
|
||||
result.setMaxInactiveInterval(defaultMaxInactiveInterval);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ public class RedisOperationsSessionRepository implements SessionRepository<Redis
|
||||
private final RedisSessionExpirationPolicy expirationPolicy;
|
||||
|
||||
/**
|
||||
* If non-null, this value is used to override {@link RedisSession#setDefaultMaxInactiveInterval(int)}.
|
||||
* If non-null, this value is used to override the default value for {@link RedisSession#setMaxInactiveInterval(int)}.
|
||||
*/
|
||||
private Integer defaultMaxInactiveInterval;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user