@Persist("session") does not make the accessor fetch from session everytime
---------------------------------------------------------------------------
Key: TAPESTRY-1101
URL: http://issues.apache.org/jira/browse/TAPESTRY-1101
Project: Tapestry
Issue Type: Bug
Components: Core
Affects Versions: 4.0.2
Reporter: B.S.Navin
I was going through the Persistence mechanism implementations in Tapestry 4.0.2
and came across the following behaviour:
----------------------
For properties marked as @Persist("session"), the mutator(setter) stores the
value in a instance variable and also puts it into session using the
corresponding persistence strategy. But the accessor(getter) just fetches the
value stored in the instance variable and does not check for an updated value
within the session.
----------------------
This entire approach works fine until we start getting multiple simultaneous
requests within the same session (which is possible when using asynchronous
requests).
Here's a sample scenario where the above approach may cause a problem:
----------------------
Assume that 2 asynchronous requests (say 2 lookups) are running of the same
page (same page class, but 2 different instances), simultaneously.
If Request#1 updates an @Persist("session") property value, Request#2 will not
see this updated value as the accessor of that property.
----------------------
Is what I have mentioned here right? Or is there something in the code that
escaped my notice?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]