What happens with views which not exists in myfaces 2.1.9?

I get the following Exception:

org.apache.myfaces.renderkit.ServerSideStateCacheImpl$CounterSessionViewStorageFactory.createSerializedViewKey(ServerSideStateCacheImpl.java:1413)
org.apache.myfaces.renderkit.ServerSideStateCacheImpl$CounterSessionViewStorageFactory.createSerializedViewKey(ServerSideStateCacheImpl.java:1392)
org.apache.myfaces.renderkit.ServerSideStateCacheImpl.saveSerializedViewInServletSession(ServerSideStateCacheImpl.java:318)
org.apache.myfaces.renderkit.ServerSideStateCacheImpl.saveSerializedView(ServerSideStateCacheImpl.java:1036)
org.apache.myfaces.renderkit.html.HtmlResponseStateManager.saveState(HtmlResponseStateManager.java:149)
org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:253)
org.apache.myfaces.shared.view.JspViewDeclarationLanguageBase.renderView(JspViewDeclarationLanguageBase.java:221)


The question is, why a view which not exists is rendered. In MyFaces 2.1.8
there is the same behavior but there the viewId is not taken for
calculating some keys.

In JspViewDeclarationLanguage#buildView the calculated viewId which is null
is taken to do a externalContext.dispatch(viewId). This dispatch returns an
error with status 404. Than it's called:
wrappedResponse.flushToWrappedResponse();

Mojarra does after that a responseComplete, MyFaces does not.
Could that be the problem?

regards
Marcus Büttner

Reply via email to