Represents a clustered session.
A Session is created by a SessionManager and is uniquely identified by its sessionId. More accurately, this
sessionId is unique within the set of SessionManagers from which this Session has been sourced. If two Sessions
have the same sessionId, then a client can be sure that they have been created from two distinct set of
SessionManagers.
A Session provides Map like contracts to manipulate state information. State information must be Serializable as
it may be marshalled automatically by the underpinning local SessionManager. At any given point of time, a Session
is uniquely "instantiated" once cluster wide. Also, cluster wide accesses to a given Session are
ensured to be serialized by the set of SessionManagers from which the Session has been sourced. The interposition
of a ClusteredInvocation between a client and the Session this client would like to access enforces unique
instantiation and access serialization cluster wide for a given Session.
version: $Rev$ $Date$ |