プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Coherence*WebでのHTTPセッション・マネージメントの管理
12c (12.2.1.2.0)
E82727-01
目次へ移動
目次

前
次

C セッション・キャッシュ構成ファイル

この付録では、セッション・キャッシュ構成ファイルsession-cache-config.xml、パラメータdefault-session-cache-config.xmlの内容を説明します。Coherence*Webでは、このファイルで定義したキャッシュとサービスを使用してHTTPセッション管理を実装します。このファイルはWEB-INF/classesディレクトリに配置されます。表C-1は、default-session-cache-config.xmlファイルで使用するキャッシュ関連デフォルト値を示しています。

表C-1 default-session-cache-config.xmlで使用するキャッシュ関連の値

説明

local-attribute-storage

このローカル・キャッシュには、分散配置しない属性を保存します。これには、次のような状況が考えられます。

  • coherence-distributioncontroller-classを構成済の場合。ローカル・セッションの属性をこのキャッシュに保存します。

  • 分散セッションに対してシリアライズ不可能な属性を設定している場合。coherence-preserve-attributestrueに設定した場合は、シリアライズ不可能な属性がこのキャッシュに配置されます。このパラメータの詳細は、表A-1を参照してください。

local-session-storage

構成済のcoherence-distributioncontroller-classパラメータが存在する場合、それによってローカルと見なされたセッション・モデルをこのローカル・キャッシュに保存します。このパラメータの詳細は、表A-1を参照してください。

servletcontext-storage

ServletContext属性のクラスタリング(表A-1coherence-servletcontext-clusteredパラメータを参照)が有効になっている場合(デフォルトでは無効)、ServletContext属性はこのキャッシュに保存されます。read-mostly属性が少数存在することを想定して、このキャッシュはデフォルトでレプリケートされます。

session-management

このキャッシュには、セッション管理実装の内部的な構成情報と管理情報を保存します。この情報は、更新頻度が低いことから、このキャッシュはデフォルトでレプリケートしたキャッシュになります。

session-overflow

coherence-sessioncollection-classパラメータ(表A-1を参照)をcom.tangosol.coherence.servlet.SplitHttpSessionCollectionに設定している場合は、このキャッシュに大型のセッション属性が保存されます。デフォルトでは、1Kを超えるサイズのセッション属性がこのキャッシュに保存されます。このキャッシュは分散キャッシュとして構成されます。

表C-2は、default-session-cache-config.xmlファイルで使用するサービス関連値を示しています。

表C-2 default-session-cache-config.xmlで使用するサービス関連の値

説明

DistributedSessions

この分散サービスは、次のキャッシュで使用します。

  • session-storage

  • session-overflow

これらのキャッシュのデータをJVMで保存および管理するかどうかを、coherence.session.localstorageシステム・プロパティで制御します。大半の状況では、WebコンテナのJVMについてこのシステム・プロパティをfalseに設定する必要があります。詳細は、デプロイメント・トポロジを参照してください。

ReplicatedSessionsMisc

このレプリケートしたサービスは、session-managementキャッシュとservletcontext-storageキャッシュで使用します。

SessionOwnership

この起動サービスは、スティッキー・セッションの最適化機能で使用します(coherence-sticky-sessionstrueに設定している場合)。

例C-1は、default-session-cache-config.xmlファイルの内容を示しています。表C-1表C-2で説明したキャッシュ関連およびサービス関連の値はboldフォントで表示されています。

例C-1 default-session-cache-config.xmlファイルの内容

<?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">
 
  <scope-name>oracle.coherence.web</scope-name>
 
  <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-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 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>
 
    <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>
      <service-name>DistributedSessions</service-name>
      <thread-count system-property="coherence.session.threads">4
         </thread-count>
      <lease-granularity>member</lease-granularity>
      <local-storage system-property="coherence.session.localstorage">
         false</local-storage>
      <partition-count>257</partition-count>
      <backup-count>1</backup-count>
      <request-timeout>30s</request-timeout>
      <backing-map-scheme>
        <ramjournal-scheme>
           <high-units system-property="coherence.session.highunits"/>
           <unit-calculator>BINARY</unit-calculator>
        </ramjournal-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
    </distributed-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>