[
https://issues.apache.org/jira/browse/WICKET-6465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16161726#comment-16161726
]
ASF GitHub Bot commented on WICKET-6465:
----------------------------------------
Github user svenmeier commented on the issue:
https://github.com/apache/wicket/pull/233
Currently HttpSessionStore and PageStoreManager each use their own instance
of HttpSessionBindingListener.
Yes, we might be able to unify these. But with a simple fix we don't
introduce even more - possibly faulty - changes.
It was unfortunate that we didn't consider all possible callbacks from
Servlet containers when this problem started with WICKET-6356.
IMHO we should go with the simplest fix: Prevent anything bad from
happening, when re-setting the session attribute:
- clustering will work (because the attribute is re-set)
- it doesn't matter whether the container calls valueBound() or not
- if the container calls valueUnbound(), it does nothing bad during
storeTouchedPages()
Andrea, what do you think?
BTW do we have to take care of concurrent access to the SessionEntry? I see
that Martin used an AtomicBoolean, but how does that help if there are two
request simultaneously storing touched pages?
> PageStore not cleared at session end
> ------------------------------------
>
> Key: WICKET-6465
> URL: https://issues.apache.org/jira/browse/WICKET-6465
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 7.8.0
> Environment: Tomcat
> Reporter: Franta Mejta
> Assignee: Emond Papegaaij
> Priority: Critical
> Attachments: WICKET-6465.patch
>
>
> WICKET-6387 causes the page store not to be cleared at logout on Tomcat. The
> problem is that tomcat does not call {{valueUnbound}} or {{valueBound}} when
> an attribute is set to the current value (new == old).
> https://github.com/apache/tomcat/blob/e28b35c9e40aeb4b7ac52a98f07ad965630e2766/java/org/apache/catalina/session/StandardSession.java#L1424
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)