[SERVLET_SPEC-1] Improve HttpSession distribution semantics Created: 31/May/11 Updated: 21/Aug/14
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
Currently there are significant ambiguities in the servlet specification with regards to how sessions should be distributed:
+ should changes made to the attibute value objects after the setAttribute be reflected in the persisted/distributed state? Is setAttribute pass-by-reference or pass-by-value ?
+ when is a session attribute persisted/distributed? When setAttribute is called? when the current request completes? when all simultaneous requests complete? at regular intervals? on container shutdown?
+ the requirement that only a single instance of a session is active in a cluster is difficult to efficiently implement. Can concurrent instances be allowed?
+ are sessions persisted/serialized attribute by attribute or as a single session blob?
|Comment by markt_asf [ 01/Jun/11 ]|
Some additional questions related to distributed sessions:
+ When a session is distributed across multiple container instances, how should listeners be notified of HTTP session events? Only those listeners on the 'active' instance where the change originated, all instances, something else?
+ In the above case, should the listener notification behaviour be configurable, if so how and at what level (container, context, session, listener, something else)?
|Comment by Rajiv Mordani [ 12/Dec/12 ]|
In general so far Java EE platform does not talk about distributed semantics / HA behavior of containers. These features are left up to the container vendors to implement and make available. If we were to put details around distributed servlet programming model it would have to go beyond just HttpSession. At this time I am inclined to wait and see what we plan to do for Java EE platform as a whole before attempting to define distributed session semantics.
|Comment by Rajiv Mordani [ 08/Jan/13 ]|
Adding it to the bucket of FUTURE_RELEASE