0

I have read a question here and it was explained there that view expires exception happens when state is saved to server but I have my state saved to client see my web.xml below. How I achieve this is my progressing into my application and then stopping the server manually and starting again. After that I hit any command button and I get my ViewExpired Exception.

Is this correct behaviour ? I understand that restarting of server will be destroying my session but if state is saved on client( browser ) then I should not it be able to get the state ?

web.xml

<welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>    
    <context-param>
      <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
      <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
      <param-value>client</param-value>
    </context-param>
    <context-param>
      <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
      <param-value>resources.application</param-value>
  </context-param>
  <context-param>
        <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
        <param-value>false</param-value>
      </context-param>
    <error-page>
         <exception-type>java.lang.NullPointerException</exception-type>
          <location>/kgs/index.xhtml</location>
      </error-page>
      <error-page>
         <exception-type>java.lang.Throwable</exception-type>
            <location>/kgs/index.xhtml</location>
        </error-page>
        <error-page>
            <exception-type>javax.faces.application.ViewExpiredException</exception-type>
            <location>/kgs/index.xhtml</location>
        </error-page>
         <error-page>
            <exception-type>javax.faces.FacesException</exception-type>
            <location>/kgs/index.xhtml</location>
        </error-page>

error.log

    Mai 29, 2017 12:14:41 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 20917 ms
ERROR: MAC did not verify!
ERROR: MAC did not verify!
Mai 29, 2017 12:14:49 PM com.sun.faces.context.StateContext startTrackViewModifications
WARNING: Unable to attach AddRemoveListener to UIViewRoot because it is null
Mai 29, 2017 12:14:49 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
SEVERE: javax.faces.application.ViewExpiredException: viewId:/pages/DashboardMessages.xhtml - View /pages/DashboardMessages.xhtml could not be restored.
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:212)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:123)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:650)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Mohit Bhagat
  • 245
  • 5
  • 14

0 Answers0