diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java index 70e6aa8549..e8ff100c45 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ControllerMethodResolver.java @@ -372,17 +372,7 @@ class ControllerMethodResolver { */ public SessionAttributesHandler getSessionAttributesHandler(HandlerMethod handlerMethod) { Class handlerType = handlerMethod.getBeanType(); - SessionAttributesHandler result = this.sessionAttributesHandlerCache.get(handlerType); - if (result == null) { - synchronized (this.sessionAttributesHandlerCache) { - result = this.sessionAttributesHandlerCache.get(handlerType); - if (result == null) { - result = new SessionAttributesHandler(handlerType); - this.sessionAttributesHandlerCache.put(handlerType, result); - } - } - } - return result; + return this.sessionAttributesHandlerCache.computeIfAbsent(handlerType, SessionAttributesHandler::new); } }