Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Cannot Reproduce
-
Affects Version/s: 3.2
-
Fix Version/s: EE-3.2.0.GA, 3.3
-
Component/s: Bridge
-
Labels:None
-
Environment:Any
-
Assignee Priority:P1
-
ICEsoft Forum Reference:
Description
-
Hide
- ice-session-test.zip
- 10 kB
- Deryk Sinotte
-
- ice-session-test/.classpath 2 kB
- ice-session-test/.project 1 kB
- ice-session-test/.settings/.jsdtscope 0.5 kB
- ice-session-test/.../org.eclipse.jdt.core.prefs 0.4 kB
- ice-session-test/.../org.eclipse.wst.common.component 0.5 kB
- ice-session-test/.../org.eclipse.wst.common.project.facet.core.prefs.xml 0.3 kB
- ice-session-test/.../org.eclipse.wst.common.project.facet.core.xml 0.4 kB
- ice-session-test/.../org.eclipse.wst.jsdt.ui.superType.container 0.0 kB
- ice-session-test/.../org.eclipse.wst.jsdt.ui.superType.name 0.0 kB
- ice-session-test/build/.../Bean.class 0.8 kB
- ice-session-test/src/Bean.java 1 kB
- ice-session-test/WebContent/index.jsp 0.1 kB
- ice-session-test/WebContent/index.xhtml 2 kB
- ice-session-test/WebContent/.../MANIFEST.MF 0.0 kB
- ice-session-test/.../session-expired.html 0.2 kB
- ice-session-test/.../faces-config.xml 0.3 kB
- ice-session-test/WebContent/.../web.xml 3 kB
-
- with-connection-status.png
- 312 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
I cannot reproduce this issue. Using the provided the test case I can see the "User Session Expired" popup showing up every time the session expires.
Philip, can you provided any other information that Mircea might need to see the problem?
My testing was on Tomcat 7. I tried a few different time out values, such a 1, 3, and 10 minutes. Tested on Windows 7, Chrome 23, FF 17, Safari 5.1.7, and IE9. All had the same effect. Push looked ok and the push connections started ok. After the timeout:
Server error:
WARNING: queued exception
javax.faces.application.ViewExpiredException: viewId:/index.jsf - View /index.jsf could not be restored.
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:205)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Then SessionExpired response in the browser:
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><error><error-name>class org.icefaces.application.SessionExpiredException</error-name><error-message><![CDATA[Session has expired]]></error-message></error><changes><extension aceCallbackParam="validationFailed">
</extension></changes></partial-response>
But no popup. No js errors, and push pings continued after that.
So I ran the test case myself (Tomcat 7) and found that, as it stands, I get nearly the same results as Philip. That is, when I run the test case as provided and let the session timeout, I see:
- the ViewExpiredException on the server
- the SessionExpiredException sent to the client
- Unlike Philip, I also see the push connection shutdown and the connection status component turned to "throbbing red" indicating that the connection is no longer active.
See the screenshot titled "with-connection-status".
If I remove the connection status component, then I see:
- the ViewExpiredException on the server
- the configured redirect occurs to the desired page
See the screenshot titled "without-connection-status".
Attaching test case provided by Philip