Annoying SEVERE: View State cannot be reconstructed + stacktrace with 
ViewExpiredException
------------------------------------------------------------------------------------------

                 Key: MYFACES-3190
                 URL: https://issues.apache.org/jira/browse/MYFACES-3190
             Project: MyFaces Core
          Issue Type: Improvement
            Reporter: Martin Kočí
            Priority: Minor


If user handles successfully handles ViewExpiredExpception with 
http://weblogs.java.net/blog/edburns/archive/2009/09/03/dealing-gracefully-viewexpiredexception-jsf2,
 myfaces still produce following output in log:

org.apache.myfaces.shared_impl.util.StateUtils reconstruct
SEVERE: View State cannot be reconstructed
javax.faces.FacesException: javax.faces.application.ViewExpiredException
        at 
org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:496)
        at 
org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:378)
        at 
org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:239)
        at 
org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getState(HtmlResponseStateManager.java:178)
        at 
org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreView(DefaultFaceletsStateManagementStrategy.java:145)
        at 
org.apache.myfaces.application.StateManagerImpl.restoreView(StateManagerImpl.java:113)
        at 
org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
        at 
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:1621)
        at 
org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:296)
        at 
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:123)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
Caused by: javax.faces.application.ViewExpiredException
        at 
org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:489)
        ... 24 more

The stacktrace comes from StateUtils.reconstruct(String, ExternalContext):

            if (log.isLoggable(Level.SEVERE))
            {
                log.log(Level.SEVERE, "View State cannot be reconstructed", e);
            }

This SEVERE log is unnecessary, because real ViewExpiredExpcetion is thrown 
from RestoreViewExecutor.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to