Thursday, July 14, 2011

Coherence Web Cache Configuration

Coherence*Web uses the caches and services defined in the session-cache-config.xml file to implement HTTP session management. This file is deployed under WEB-INF/classes in either the instrumented web application or shared WebLogic Coherence*Web SPI library.

Caches

session-management:This cache is used to store internal configuration and management information for the session management implementation. This information is updated infrequently; therefore, it is a replicated cache by default.

servletcontext-storage:If ServletContext attribute clustering is enabled (it is disabled by default), this cache is used to store ServletContext attributes. This cache is replicated by default, as it is expected that there will a few read-mostly attributes.

session-storage:This cache is used to store session models. By default it is mapped to a near cache backed by a distributed cache since it is expected that a container will access and modify a subset of sessions multiple times (assuming that sticky session load balancing is configured.)

session-overflow:If the coherence-sessioncollection-class parameter is set to com.tangosol.coherence.servlet.SplitHttpSessionCollection, this cache will hold "large" session attributes. By default, session attributes larger than 1K will be stored in this cache. This is configured as a distributed cache.

session-death-certificates:Recently expired session IDs are stored in this cache in order to prevent reuse of a recently used session ID. By default, each storage node will hold up to 4000 session IDs, and session IDs will be evicted after 24 hours. This is configured as a distributed cache.

local-session-storage:This local cache is used to store session models that are considered to be "local" by the configured (if any) coherence-distributioncontroller-class.

local-attribute-storage:This local cache is used to store attributes that are not distributed. This can happen under two conditions:
1.A coherence-distributioncontroller-class is configured. Attributes for "local" sessions will be stored in this cache.
2.A non-serializable attribute is set on a distributed session. If coherence-sticky-sessions and coherence-preserve-attributes are set to true, this attribute will be placed in this cache.

Services

ReplicatedSessionsMisc:This replicated service is used by the session-management and servletcontext-storage caches.

DistributedSessions:This distributed service is used by the following caches:
•session-storage
•session-overflow
•session-death-certificates

The tangosol.coherence.session.localstorage system property controls whether or not a JVM will store and manage data for these caches. Under most circumstances, this should be set to false for web container JVMs. See Coherence*Web Deployment Topologies for more details.

SessionOwnership:This invocation service is used by the sticky session optimization feature (if coherence-sticky-sessions is set to true).

No comments:

Search This Blog