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