MYFACES-4297
diff --git a/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeContextImpl.java b/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeContextImpl.java
index 2198998..60b273a 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeContextImpl.java
@@ -86,7 +86,7 @@
}
public String getCurrentViewScopeId(boolean create)
- {
+ {
FacesContext facesContext = FacesContext.getCurrentInstance();
ViewScopeProxyMap map = (ViewScopeProxyMap) facesContext.getViewRoot().getViewMap(create);
if (map != null)
@@ -148,6 +148,9 @@
{
checkActive();
+ // force session creation if ViewScoped is used
+ FacesContext.getCurrentInstance().getExternalContext().getSession(true);
+
ViewScopeContextualStorage storage = getContextualStorage(false);
if (storage == null)
{
@@ -175,6 +178,9 @@
" doesn't implement " + PassivationCapable.class.getName());
}
+ // force session creation if ViewScoped is used
+ FacesContext.getCurrentInstance().getExternalContext().getSession(true);
+
ViewScopeContextualStorage storage = getContextualStorage(true);
Map<Object, ContextualInstanceInfo<?>> contextMap = storage.getStorage();