[ http://issues.apache.org/jira/browse/TAPESTRY-1075?page=all ]
Jesse Kuhnert resolved TAPESTRY-1075.
-------------------------------------
Resolution: Won't Fix
Assignee: Jesse Kuhnert
Object copying is something I'd like to avoid like the plague. If tapestry lets
you override how it's done I think that's enough.
> Provide deep copies of the session objets to prevent synchronization issues
> with concurrent requests
> ----------------------------------------------------------------------------------------------------
>
> Key: TAPESTRY-1075
> URL: http://issues.apache.org/jira/browse/TAPESTRY-1075
> Project: Tapestry
> Issue Type: Improvement
> Components: Core
> Affects Versions: 4.0, 4.1, 4.0.1, 4.0.2
> Reporter: Henri Dupre
> Assigned To: Jesse Kuhnert
>
> this aims to improve Tapestry behavior with concurrent requests from the same
> user. They may lead to synchronization issue because all concurrent requests
> will share the same instance of the session objects.
> An elegant and efficient solution can be implemented by improving the
> SessionScopeManager and by providing deep copies of the session objects when
> a session object is requested. The session objects then get cached by the
> ApplicationStateManager and get stored at the end of the request by the
> SessionScopeManager.
> This way concurrent requests will execute correctly and the request that ends
> up last overrides the other requests. And this will be totally transparent
> for any application.
> An efficient deep copy mecanism can be found at
> http://javatechniques.com/public/java/docs/basics/faster-deep-copy.html.
> On my tests, a deep copy of our visit object is hardly measurable, < 1 ms and
> the overhead of deep copies is probably lower than any synchronization
> mecanism.
--
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]