[SERVLET_SPEC-1] Improve HttpSession distribution semantics Created: 31/May/11  Updated: 21/Aug/14

Status: Open
Project: servlet-spec
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: gregwilkins Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
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

Generated at Tue Oct 25 08:59:05 UTC 2016 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.