Details
Description
redeploying ICEfaces pps require either restarting the app server or clearing browser cookies. Or else a SessionExpiredException may occur:
20.07.2007 10:47:46 *ERROR* ([Persistent Faces Servlet]) : Servlet.service() for servlet Persistent Faces Servlet threw exception
javax.servlet.ServletException: Session expired
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:38)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
...
20.07.2007 10:47:46 *ERROR* ([Persistent Faces Servlet]) : Servlet.service() for servlet Persistent Faces Servlet threw exception
javax.servlet.ServletException: Session expired
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:38)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
...
Activity
Field | Original Value | New Value |
---|---|---|
Summary | Need to clear browser cache when redeploying applications | Need to clear browser cookie cache when redeploying applications |
Support Customer Ref. #s | 713 |
Assignee | Ken Fyten [ ken.fyten ] |
Fix Version/s | 1.6.1 [ 10070 ] | |
Assignee Priority | P1 | |
Assignee | Ken Fyten [ ken.fyten ] | Mircea Toma [ mircea.toma ] |
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Cannot Reproduce [ 5 ] |
Assignee | Mircea Toma [ mircea.toma ] | Philip Breau [ philip.breau ] |
Resolution | Cannot Reproduce [ 5 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee | Philip Breau [ philip.breau ] | Mircea Toma [ mircea.toma ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Cannot Reproduce [ 5 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P1 | |
Assignee | Mircea Toma [ mircea.toma ] |
Resolution | Cannot Reproduce [ 5 ] | |
Status | Closed [ 6 ] | Reopened [ 4 ] |
Fix Version/s | 1.6.1 [ 10070 ] |
Issue Type | Bug [ 1 ] | Improvement [ 4 ] |
Fix Version/s | 1.7 [ 10080 ] | |
Assignee | Mircea Toma [ mircea.toma ] |
Assignee Priority | P3 |
Workaround Description |
The following code example defines the time in milliseconds between heartbeat messages. The default value is 20000 (20 seconds). <context-param> <param-name>com.icesoft.faces.heartbeatInterval</param-name> <param-value>20000</param-value> </context-param> |
|
Workaround Exists | [Yes] |
Workaround Description |
The following code example defines the time in milliseconds between heartbeat messages. The default value is 20000 (20 seconds). <context-param> <param-name>com.icesoft.faces.heartbeatInterval</param-name> <param-value>20000</param-value> </context-param> |
It turns out that if you wait long enough, all viewports will eventually fail with "Connection Lost" messages. If this happens, the cookies are cleaned up okay and you can continue to use the application after you redeploy it without having to clear cookies or restart the browser. NOTE: In order to avoid this issue, you must allow each viewport in the browser to fail with either a "Session Lost" or "Connection Lost" message before you attempt to reload the application in the browser, or the cookies from the previous session will not be cleared. A work-around might be to set the async ping timing (in the web.xml) to something more aggressive (5 secs?) during development so that the connection lost failure occurs much sooner after the web-app is undeployed: The following code example defines the time in milliseconds between heartbeat messages. The default value is 20000 (20 seconds), setting it to 5 seconds will make the wait for the failure message more tolerable for some. <context-param> <param-name>com.icesoft.faces.heartbeatInterval</param-name> <param-value>5000</param-value> </context-param> |
Fix Version/s | 1.7Beta1 [ 10121 ] | |
Fix Version/s | 1.7 [ 10080 ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Cannot Reproduce [ 5 ] |
Fix Version/s | 1.7 [ 10080 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P3 | |
Assignee | Mircea Toma [ mircea.toma ] |
Philip, isn't this issue related to http://jira.icefaces.org/browse/ICE-1770 ?