[
https://issues.apache.org/jira/browse/WICKET-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727787#action_12727787
]
bernard commented on WICKET-2268:
---------------------------------
Matej,
Thanks very much for trying this, and my apologies for saying that the problem
is still the same. I tried again and found that my app server (GlassFish)
failed to clean the project - the old wicket rc5 libraries co-existed alongside
rc6.
But I still get an exception (please see below).
The test case may seem a bit odd, but it is simple, 100% derived from a real
world scenario where the welcome page contains the login form, and if the user
waits on that page too long (which is not so unlikely), then he gets that
exception.
The user will not understand what expired here - it is the welcome page and he
has not even started. He has not logged on, so from the user's perspective
there is no session that could have expired.
So the best I could do (I think) is to use setPageExpiredErrorPage() to avoid
the exception? It is still disruptive just a different kind of disruption.
What is the wicket way to do in such a case where the login page itself expires?
Many thanks.
Bernard
WicketMessage: org.apache.wicket.protocol.http.PageExpiredException: Request
cannot be processed. The target page does not exist anymore.
Root cause:
org.apache.wicket.protocol.http.PageExpiredException: Request cannot be
processed. The target page does not exist anymore.
at
org.apache.wicket.request.target.coding.HybridUrlCodingStrategy.handleExpiredPage(HybridUrlCodingStrategy.java:307)
at
org.apache.wicket.request.target.coding.HybridUrlCodingStrategy.decode(HybridUrlCodingStrategy.java:275)
at
org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.targetForRequest(WebRequestCodingStrategy.java:507)
at
org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:191)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1301)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1419)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456)
at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> NullPointerException NPE in DiskPageStore after Session Timeout
> ---------------------------------------------------------------
>
> Key: WICKET-2268
> URL: https://issues.apache.org/jira/browse/WICKET-2268
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4-RC2
> Environment: JDK 1.6, Netbeans 6.5 with GlassFish
> Reporter: bernard
> Assignee: Matej Knopp
> Priority: Critical
> Fix For: 1.4-RC6
>
> Attachments: ExpiryCrash.zip, session-expire-patch-1.4-rc4.txt
>
>
> A NullPointerException is thrown on an attempt to sumit a login form after
> session timeout.
> Wicket version 1.4 RC2
> java.lang.NullPointerException
> at
> java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
> at
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.getSessionEntry(DiskPageStore.java:661)
> at
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.containsPage(DiskPageStore.java:1255)
> at
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.containsPage(SecondLevelCacheSessionStore.java:268)
> at org.apache.wicket.Session.getPage(Session.java:660)
> at
> org.apache.wicket.request.target.coding.HybridUrlCodingStrategy.decode(HybridUrlCodingStrategy.java:211)
> at
> org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.targetForRequest(WebRequestCodingStrategy.java:490)
> at
> org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:184)
> at g1.base.MemberApplication$2.resolve(MemberApplication.java:327)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1246)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1366)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:498)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:444)
> at
> org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
> Please refer to the attached testcase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.