mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-14 14:23:30 +00:00
SessionRegistryImpl uses computeIfAbsent
Fixes: gh-5834
This commit is contained in:
parent
d8f039b32b
commit
f6657b7771
@ -132,17 +132,7 @@ public class SessionRegistryImpl implements SessionRegistry,
|
|||||||
sessionIds.put(sessionId,
|
sessionIds.put(sessionId,
|
||||||
new SessionInformation(principal, sessionId, new Date()));
|
new SessionInformation(principal, sessionId, new Date()));
|
||||||
|
|
||||||
Set<String> sessionsUsedByPrincipal = principals.get(principal);
|
Set<String> sessionsUsedByPrincipal = principals.computeIfAbsent(principal, key -> new CopyOnWriteArraySet<>());
|
||||||
|
|
||||||
if (sessionsUsedByPrincipal == null) {
|
|
||||||
sessionsUsedByPrincipal = new CopyOnWriteArraySet<>();
|
|
||||||
Set<String> prevSessionsUsedByPrincipal = principals.putIfAbsent(principal,
|
|
||||||
sessionsUsedByPrincipal);
|
|
||||||
if (prevSessionsUsedByPrincipal != null) {
|
|
||||||
sessionsUsedByPrincipal = prevSessionsUsedByPrincipal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sessionsUsedByPrincipal.add(sessionId);
|
sessionsUsedByPrincipal.add(sessionId);
|
||||||
|
|
||||||
if (logger.isTraceEnabled()) {
|
if (logger.isTraceEnabled()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user