You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Hielke Hoeve (JIRA)" <ji...@apache.org> on 2010/09/15 11:29:32 UTC

[jira] Issue Comment Edited: (WICKET-2722) RequestCycle.detach() recreates SessionData after logout

    [ https://issues.apache.org/jira/browse/WICKET-2722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909668#action_12909668 ] 

Hielke Hoeve edited comment on WICKET-2722 at 9/15/10 5:28 AM:
---------------------------------------------------------------

The problem seems to be bigger than just a single function call. When someone opens any page of the application a SessionData entity is fetched or created, this is regardless what kind of page (SecurePage or not) the user visits. 

When someone logs into the application and logs out, the SessionData entity is destroyed but immediately recreated because he then visits another page (in this example a loginpage, because the user logged out). The number of active sessions and peak sessions will always be the same, because SessionData entities are not cleared for users that have stopped visiting a page. That is either they closed the browser and the SessionData entity is not removed, or they logged out and received a new empty SessionData entity.

In order for the 2 count functions (getLiveSessions() and getPeakSessions()) to work the internal workings of the SessionData entity needs to be redone.

      was (Author: hielkehoeve):
    The problem seems to be bigger than just a single function call. When someone opens any page of the application a SessionData entity is fetched or created, this is regardless what kind of page (SecurePage or not) the user visits. 

When someone logs into the application and logs out, the SessionData entity is destroyed but immediately recreated because he then visits another page (in this example a loginpage, because the user logged out). The number of active sessions and peak sessions will always be the same, because SessionData entities are not cleared for users that have stopped visiting a page. That is either they closed the browser and the SessionData entity is not removed, or they logged out and received a new empty SessionData entity.
  
> RequestCycle.detach() recreates SessionData after logout
> --------------------------------------------------------
>
>                 Key: WICKET-2722
>                 URL: https://issues.apache.org/jira/browse/WICKET-2722
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4.6, 1.4.7, 1.4.8, 1.4.9, 1.4.10, 1.4.11
>         Environment: Wicket 1.4.6, Spring 2.5.6, Hibernate 3.3.1-GA, AspectJ 1.6.8, Eclipse 3.5.2, Windows 7 32bit
>            Reporter: Hielke Hoeve
>            Assignee: Peter Ertl
>            Priority: Minor
>         Attachments: req-logger.patch
>
>
> After every page request the RequestCycle asks the RequestLogger (if any) to write the time taken etc to the logger (using the SessionData of the current Session). If none exists then a new SessionData is created (RequestLogger line 250). However when a user logs out the SessionData is destroyed, but the page still has to detach and thus creates a new SessionData entity. 
> When we lookup the live sessions 	and peak sessions from RequestLogger, the two numbers are (nearly) always the same. Which is wrong when all users have logged out or closed their browser (no difference there).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.