You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2009/07/07 00:09:14 UTC

[jira] Resolved: (WICKET-2268) NullPointerException NPE in DiskPageStore after Session Timeout

     [ https://issues.apache.org/jira/browse/WICKET-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg resolved WICKET-2268.
-----------------------------------

    Resolution: Fixed

in wicket page-expired error represents the *technical* reality of the fact that the user tried to access a page that belongs to a session that has expired. what the *user* perceives as a session expiration may or may not be the same.

there are many ways to deal with this to make it more user friendly.

the best way is to use a StatelessForm for the credentials - that way the form will never expire.

other ways include setting the page expired error page back to homepage, or to a subclass of the homepage that displays an error explaining to the user what happened. or even setting it back to the login page with an error message - once again explaining that the user has waiting too long before performing an action and that they have to start over.

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