This appendix illustrates a sample session cache configuration file (session-cache-config.xml
) that does not contain a near cache configuration. Typically, you would omit the near cache configuration when you are using local session instances. "Getting Concurrent Access to the Same Session Instance" describes a use case where you would use local session instances instead of a near cache.
In Example D-1, the scheme-name
under cache-mapping
has been changed from session-storage
to session-distributed
. The near-scheme
section has been removed, but the local-scheme
and distributed-scheme
remain. This is noted in bold
font in the example.
Example D-1 session-cache-config.xml File Without a Near Cache Configuration
<?xml version="1.0"?> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- --> <!-- Cache configuration descriptor for Coherence*Web --> <!-- --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <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"> <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. --> <!-- session-near has been changed to session-distributed --> <cache-mapping> <cache-name>session-storage</cache-name> <scheme-name>session-distributed</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> <request-timeout>30s</request-timeout> <backing-map-scheme> <local-scheme> <scheme-ref>unlimited-local</scheme-ref> </local-scheme> </backing-map-scheme> <autostart>true</autostart> </replicated-scheme> <!-- The near-scheme section has been removed --> <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 system-property="tangosol.coherence.session.localstorage">false</local-storage> <partition-count>257</partition-count> <backup-count>1</backup-count> <backup-storage> <type>on-heap</type> </backup-storage> <request-timeout>30s</request-timeout> <backing-map-scheme> <local-scheme> <scheme-ref>unlimited-local</scheme-ref> </local-scheme> </backing-map-scheme> <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>