diff --git a/impl/src/main/java/com/sun/faces/lifecycle/ClientWindowImpl.java b/impl/src/main/java/com/sun/faces/lifecycle/ClientWindowImpl.java index 5f1cabd651..b0d3cc3017 100644 --- a/impl/src/main/java/com/sun/faces/lifecycle/ClientWindowImpl.java +++ b/impl/src/main/java/com/sun/faces/lifecycle/ClientWindowImpl.java @@ -16,6 +16,7 @@ package com.sun.faces.lifecycle; +import static com.sun.faces.context.SessionMap.getMutex; import static com.sun.faces.renderkit.RenderKitUtils.PredefinedPostbackParameter.CLIENT_WINDOW_PARAM; import java.util.Map; @@ -55,7 +56,7 @@ public void decode(FacesContext context) { } private String calculateClientWindow(FacesContext context) { - synchronized (context.getExternalContext().getSession(true)) { + synchronized (getMutex(context.getExternalContext().getSession(true))) { final String clientWindowCounterKey = "com.sun.faces.lifecycle.ClientWindowCounterKey"; ExternalContext extContext = context.getExternalContext(); Map sessionAttrs = extContext.getSessionMap(); diff --git a/impl/src/main/java/com/sun/faces/renderkit/ServerSideStateHelper.java b/impl/src/main/java/com/sun/faces/renderkit/ServerSideStateHelper.java index 2dc7a67719..5c96f298aa 100644 --- a/impl/src/main/java/com/sun/faces/renderkit/ServerSideStateHelper.java +++ b/impl/src/main/java/com/sun/faces/renderkit/ServerSideStateHelper.java @@ -263,7 +263,7 @@ public Object getState(FacesContext ctx, String viewId) { } // noinspection SynchronizationOnLocalVariableOrMethodParameter - synchronized (sessionObj) { + synchronized (getMutex(sessionObj)) { Map logicalMap = (Map) externalCtx.getSessionMap().get(LOGICAL_VIEW_MAP); if (logicalMap != null) { Map actualMap = (Map) logicalMap.get(idInLogicalMap);