This appendix describes the contents of the session cache configuration file default-session-cache-config.xml
. Coherence*Web uses the caches and services defined in the file to implement HTTP session management. This file is deployed in the WEB-INF/classes
directory in either the instrumented Web application or shared WebLogic Coherence*Web SPI library. Table C-1 describes the default cache-related values used in the default-session-cache-config.xml
file.
Table C-1 Cache-Related Values Used in default-session-cache-config.xml
Value | Description |
---|---|
|
This local cache is used to store attributes that are not distributed. This can happen under these conditions:
|
|
This local cache is used to store session models that are considered to be local by the configured (if any) |
|
If |
|
Recently expired session IDs are stored in this cache 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. |
|
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. |
|
If the |
|
This cache is used to store session models. By default it is mapped to a near cache backed by a distributed cache because it is expected that a container will access and modify a subset of sessions multiple times (if sticky session load balancing is configured.) See "Session Models" for more information. |
Table C-2 describes the services-related values used in the default-session-cache-config.xml
file.
Table C-2 Services-Related Values Used in default-session-cache-config.xml
Value | Description |
---|---|
|
This distributed service is used by the following caches:
The |
|
This replicated service is used by the |
|
This invocation service is used by the sticky session optimization feature (if |
Example C-1 illustrates the contents of the default-session-cache-config.xml
file. The cache- and services-related values described in Table C-1 and Table C-2 appear in bold
.
Example C-1 Contents of the default-session-cache-config.xml File
<?xml version="1.0"?> <cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- --> <!-- Cache configuration descriptor for Coherence*Web --> <!-- --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <caching-scheme-mapping> <!-- The clustered cache used to store Session management data. --> <cache-mapping> <cache-name>session-management</cache-name> <scheme-name>replicated</scheme-name> </cache-mapping> <!-- The clustered cache used to store ServletContext attributes. --> <cache-mapping> <cache-name>servletcontext-storage</cache-name> <scheme-name>replicated</scheme-name> </cache-mapping> <!-- The clustered cache used to store Session attributes. --> <cache-mapping> <cache-name>session-storage</cache-name> <scheme-name>session-near</scheme-name> </cache-mapping> <!-- The clustered cache used to store the "overflowing" (split-out due to size) Session attributes. Only used for the "Split" model. --> <cache-mapping> <cache-name>session-overflow</cache-name> <scheme-name>session-distributed</scheme-name> </cache-mapping> <!-- The clustered cache used to store IDs of "recently departed" Sessions. --> <cache-mapping> <cache-name>session-death-certificates</cache-name> <scheme-name>session-certificate</scheme-name> </cache-mapping> <!-- The local cache used to store Sessions that are not yet distributed (if there is a distribution controller). --> <cache-mapping> <cache-name>local-session-storage</cache-name> <scheme-name>unlimited-local</scheme-name> </cache-mapping> <!-- The local cache used to store Session attributes that are not distributed (if there is a distribution controller or attributes are allowed to become local when serialization fails). --> <cache-mapping> <cache-name>local-attribute-storage</cache-name> <scheme-name>unlimited-local</scheme-name> </cache-mapping> </caching-scheme-mapping> <caching-schemes> <!-- Replicated caching scheme used by the Session management and ServletContext attribute caches. --> <replicated-scheme> <scheme-name>replicated</scheme-name> <service-name>ReplicatedSessionsMisc</service-name> <backing-map-scheme> <local-scheme> <scheme-ref>unlimited-local</scheme-ref> </local-scheme> </backing-map-scheme> <request-timeout>30s</request-timeout> <autostart>true</autostart> </replicated-scheme> <!-- Near caching scheme used by the Session attribute cache. The front cache uses a Local caching scheme and the back cache uses a Distributed caching scheme. --> <near-scheme> <scheme-name>session-near</scheme-name> <front-scheme> <local-scheme> <scheme-ref>session-front</scheme-ref> </local-scheme> </front-scheme> <back-scheme> <distributed-scheme> <scheme-ref>session-distributed</scheme-ref> </distributed-scheme> </back-scheme> <invalidation-strategy>present</invalidation-strategy> </near-scheme> <local-scheme> <scheme-name>session-front</scheme-name> <eviction-policy>HYBRID</eviction-policy> <high-units>1000</high-units> <low-units>750</low-units> </local-scheme> <distributed-scheme> <scheme-name>session-distributed</scheme-name> <scheme-ref>session-base</scheme-ref> <backing-map-scheme> <local-scheme> <scheme-ref>unlimited-local</scheme-ref> </local-scheme> <!-- for disk overflow use this backing scheme instead: <overflow-scheme> <scheme-ref>session-paging</scheme-ref> </overflow-scheme> --> </backing-map-scheme> </distributed-scheme> <!-- Distributed caching scheme used by the "recently departed" Session cache. --> <distributed-scheme> <scheme-name>session-certificate</scheme-name> <scheme-ref>session-base</scheme-ref> <backing-map-scheme> <local-scheme> <eviction-policy>HYBRID</eviction-policy> <high-units>4000</high-units> <low-units>3000</low-units> <expiry-delay>86400</expiry-delay> </local-scheme> </backing-map-scheme> </distributed-scheme> <!-- "Base" Distributed caching scheme that defines common configuration. --> <distributed-scheme> <scheme-name>session-base</scheme-name> <service-name>DistributedSessions</service-name> <thread-count>0</thread-count> <lease-granularity>member</lease-granularity> <local-storage>false</local-storage> <partition-count>257</partition-count> <backup-count>1</backup-count> <backup-storage> <type>on-heap</type> </backup-storage> <backing-map-scheme> <local-scheme> <scheme-ref>unlimited-local</scheme-ref> </local-scheme> </backing-map-scheme> <request-timeout>30s</request-timeout> <autostart>true</autostart> </distributed-scheme> <!-- Disk-based Session attribute overflow caching scheme. --> <overflow-scheme> <scheme-name>session-paging</scheme-name> <front-scheme> <local-scheme> <scheme-ref>session-front</scheme-ref> </local-scheme> </front-scheme> <back-scheme> <external-scheme> <bdb-store-manager/> </external-scheme> </back-scheme> </overflow-scheme> <!-- Local caching scheme definition used by all caches that do not require an eviction policy. --> <local-scheme> <scheme-name>unlimited-local</scheme-name> <service-name>LocalSessionCache</service-name> </local-scheme> <!-- Clustered invocation service that manages sticky session ownership. --> <invocation-scheme> <service-name>SessionOwnership</service-name> <request-timeout>30s</request-timeout> </invocation-scheme> </caching-schemes> </cache-config>