[ 
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.

Reply via email to