F Cache Configuration for WebLogic Portal and Oracle Coherence

This appendix provides a sample cache configuration for a WebLogic Portal-managed Coherence cache server. When you are deploying the Coherence cache provider in an out-of process topology, the WebLogic Portal managed servers (that is, the WebLogic Portal server tier) are configured as cache clients with local storage disabled. The Coherence caches operate as dedicated JVMs running as cache servers, physically storing and managing the portal and session data. See "Using the Coherence Cache Provider with WebLogic Portal".

For this topology, you need two copies of the merged session and cache configuration files. One copy for the WebLogic Portal managed servers that has local storage disabled, and one copy for the Coherence cache servers which has local storage enabled.

Example F-1 illustrates a cache configuration file for a WebLogic Portal managed server. The configuration allows a WebLogic Portal managed server to store session data in a Coherence cache server. The configuration file combines the session cache configuration from default-session-cache-config.xml with the portal cache configuration from portal-cache-config.xml.

The configuration file for the Coherence cache server can be the same as Example F-1, except the values for the local-storage system property in the session cache configuration section and portal cache configuration section must be set to true. See "Deploying Coherence Cache Provider for Out-of-Process Topology" for more information.

Example F-1 Cache Configuration for WebLogic Portal Managed Server

<?xml version="1.0"?>
 
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!--                                                                       -->
<!--        Coherence BEA WebLogic Portal CacheProvider:                   -->
<!--                  Cache Configuration Descriptor                       -->
<!--                                                                       -->
<!--       (See http://e-docs.bea.com/wlp/docs81/perftune/apenB.html)      -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
<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>
 
    <cache-mapping>
      <!--
      Cache:
        adServiceCache
 
      Use:
        Used to store the results of searches for content rendered in a
        placeholder (ads). Used by the AdHelper to increase the speed of ad
        queries.
 
      Key:
        An ad query (java.lang.String).
 
      Value:
        An array of com.bea.p13n.content.Content objects.
      -->
      <cache-name>adServiceCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>32</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>5m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        binaryCache.[repository name]
 
      Use:
        Used to cache binary property values for the BEA Repository.
 
      Key:
        Node ID + property ID (java.lang.String).
 
      Value:
        A byte array associated with the binary property.
      -->
      <cache-name>binaryCache.*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>256</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        CategoryCache
 
      Use:
        Used to cache the root com.beasys.commerce.ebusiness.catalog.Category,
        the total number of categories in the product catalog (java.lang.Integer)
        and the com.beasys.commerce.ebusiness.catalog.service.category.CategoryInfo
        for each category.
 
      Key:
        The key for the root Category and the total number of categories is a
        java.lang.String. The key for a given CategoryInfo object is a
        com.beasys.commerce.ebusiness.catalog.CategoryKey.
 
      Value:
        The value for the root Category is a com.beasys.commerce.ebusiness.catalog.Category.
        The value for the total number of categories is a java.lang.Integer.
        The value for the category info objects is a
        com.beasys.commerce.ebusiness.catalog.service.category.CategoryInfo.
      -->
      <cache-name>CategoryCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1000</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        CategoryTreeCache
 
      Use:
        Used to cache portlet category trees.
 
      Key:
        A webapp name.
 
      Value:
        A CategoryTree object.
      -->
      <cache-name>CategoryTreeCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        communitiesEntityPropertyCache
 
      Use:
        Used to cache community membership capability information for users
        accessing communities.
 
      Key:
        A composite key of community definition ID and user name.
 
      Value:
        A java.util.Map of community membership capabilities.
      -->
      <cache-name>communitiesEntityPropertyCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        communitiesMemberActiveCache
 
      Use:
        Used to cache information about active status for community members.
 
      Key:
         A user name.
 
      Value:
        A java.lang.String representing the user's community member record
        active status.
      -->
      <cache-name>communitiesMemberActiveCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        complexProducerPortletHandleToIdCache
 
      Use:
        Used to cache the primary instance ID of portlets.
 
      Key:
        A remote portlet handle.
 
      Value:
        A remote portlet primary instance ID.
      -->
      <cache-name>complexProducerPortletHandleToIdCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1000</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        complexProducerPortletIdToDefinitionLabel
 
      Use:
        Used to cache the definition label of portlets.
 
      Key:
        A remote portlet primary instance ID.
 
      Value:
        A remote portlet definition label.
      -->
      <cache-name>complexProducerPortletIdToDefinitionLabel:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1000</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        credentialEntryCache
 
      Use:
        Used to cache credential vault entries with encrypted credential.
 
      Key:
        A com.bea.p13n.security.management.credentials.internal.CredentialEntryLocator.
 
      Value:
        A com.bea.p13n.security.management.credentials.CredentialEntry.
      -->
      <cache-name>credentialEntryCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        documentContentCache
 
      Use:
        Used to cache the document bytes for the DocumentManager. It is not
        used by the content repositories.
 
      Notes:
        Deprecated cache.
      -->
      <cache-name>documentContentCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        documentIdCache
 
      Use:
        Used to caches the results of document searches (ids only) for the
        DocumentManager. It is not used by the content repositories.
 
      Notes:
        Deprecated cache.
      -->
      <cache-name>documentIdCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        documentContentCache
 
      Use:
        Used to cache the results of document searches for the DocumentManager.
        It is not used by the content repositories.
 
      Notes:
        Deprecated cache.
      -->
      <cache-name>documentMetadataCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        discountAssocCache
 
      Use:
        Used to cache computed discount associations (applicable to individual
        customers or to customer segments).
 
      Key:
        A com.beasys.commerce.ebusiness.customer.CustomerPk.
 
      Value:
        A com.bea.commerce.ebusiness.discount.association.DiscountAssociation.
      -->
      <cache-name>discountAssocCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1h</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        discountCache
 
      Use:
        Used to cache computed discount definitions (applicable to individual
        customers or to customer segments).
 
      Key:
        A com.bea.commerce.ebusiness.discount.mgmt.QualificationDiscountId.
 
      Value:
        A java.util.Set of
        com.bea.commerce.ebusiness.discount.mgmt.QualificationDiscountDef
        objects.
      -->
      <cache-name>discountCache:*</cache-name>
      <scheme-name>portal-partitioned</scheme-name>
      <init-params>
        <init-param>
          <param-name>back-size-limit</param-name>
          <param-value>10</param-value>
        </init-param>
        <init-param>
          <param-name>back-expiry</param-name>
          <param-value>5m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        entityIdCache
 
      Use:
        Used to cache the numeric ids for entity property locators.
 
      Key:
        A com.bea.p13n.property.PropertyLocator.
 
      Value:
        An entity ID (java.lang.Long).
      -->
      <cache-name>entityIdCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        entityPropertyCache
 
      Use:
        Used to caches property values for users and groups.
 
      Key:
        A com.bea.p13n.property.PropertyLocator.
 
      Value:
        A com.bea.p13n.property.EntityPropertyCache.
      -->
      <cache-name>entityPropertyCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>10m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        globalDiscountAssocCache
 
      Use:
        Used to cache computed global discount associations. This is the set of
        discount associations that is applicable to all users.
 
      Key:
        A com.beasys.commerce.ebusiness.customer.CustomerPk.
 
      Value:
        A com.bea.commerce.ebusiness.discount.association.DiscountAssociation.
      -->
      <cache-name>globalDiscountAssocCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1h</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        globalDiscountCache
 
      Use:
        Used to cache computed global discount definitions. This is the set of
        global discounts that is applicable to all users.
 
      Key:
        A global discount set name (java.lang.String).
 
      Value:
        A java.util.Set of
        com.bea.commerce.ebusiness.discount.mgmt.QualificationDiscountDef
        objects.
      -->
      <cache-name>globalDiscountCache:*</cache-name>
      <scheme-name>portal-partitioned</scheme-name>
      <init-params>
        <init-param>
          <param-name>back-size-limit</param-name>
          <param-value>10</param-value>
        </init-param>
        <init-param>
          <param-name>back-expiry</param-name>
          <param-value>5m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        jndiNameCache
 
      Use:
        Used to cache the JNDI names of entity property managers and unified
        user profile managers.
 
      Key:
        An entity ID (java.lang.Long).
 
      Value:
        A JNDI name (java.lang.String).
      -->
      <cache-name>jndiNameCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        netuix.community.definition.cache
 
      Use:
        Used to cache community definitions.
 
      Key:
        A composite key of webapp name, portal path, and desktop path for a
        community.
 
      Value:
        A CommunityDefinition object.
      -->
      <cache-name>netuix.community.definition.cache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        netuix.community.id.to.path.cache
 
      Use:
        Used to cache community webapp names, desktop paths, and portal
        paths.
 
      Key:
        A CommunityDefinitionId.
 
      Value:
        The community webapp name, portal path, and desktop path.
      -->
      <cache-name>netuix.community.id.to.path.cache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        netuix.notification.global
 
      Use:
        Used to cache notifications targeted to a user, but not targeted to
        an individual web application.
 
      Key:
        A user name.
 
      Value:
        A java.util.List of Notification objects.
      -->
      <cache-name>netuix.notification.global:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        nodeCache.[repository name]
 
      Use:
        Used to cache BEA Repository nodes.
 
      Key:
        A node ID (java.lang.String).
 
      Value:
        A com.bea.content.Node.
      -->
      <cache-name>nodeCache.*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>50</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        nodePathCache.[repository name]
 
      Use:
        Used to cache a list of nodes for the BEA Repository based on a path.
 
      Key:
        A path (java.lang.String).
 
      Value:
        A com.bea.content.Node.
      -->
      <cache-name>nodePathCache.*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>50</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        p13nSecurityResourceCache
 
      Use:
        Used to cache the logical hierarchical elements of WLP security
        policies to speed performance of navigating the hierarchy.
 
      Key:
        A com.bea.p13n.entitlements.resource.P13nCachedResource.
 
      Value:
        A com.bea.p13n.entitlements.resource.P13nCachedResource.
      -->
      <cache-name>p13nSecurityResourceCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalApp_Quiescence_Decision_Cache
 
      Use:
        When Maintenance Mode is enabled, used to cache the access decisions
        made per user per feature area of the Portal Administration Tool.
 
      Key:
        A com.bea.p13n.management.quiescence.QuiescenceDecisionCacheKey.
 
      Value:
        A com.bea.p13n.management.quiescence.QuiescenceDecision.
      -->
      <cache-name>portalApp_Quiescence_Decision_Cache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalContentUriCache
 
      Use:
        Used to cache portal content URIs for a combination of webapp, portal,
        locale and optional user name.
 
      Key:
        A compound key consisting of the webapp, portal, locale and optional
        user name.
 
      Value:
        A portal content URI.
      -->
      <cache-name>portalContentUriCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>0</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalControlTreeCache
 
      Use:
        Used to cache portal control trees for a combination of webapp,
        portal, desktop, locale and optional user name.
 
      Key:
        A compound key consisting of the webapp, portal, locale and optional
        user name.
 
      Value:
        A portal control tree.
      -->
      <cache-name>portalControlTreeCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>0</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        PortalFrameworkServiceLevelManager/[webapp]
 
      Use:
        Used to cache the state of a portlet instance, suspended or active.
 
      Key:
        A java.lang.String (identifies the portlet instance).
 
      Value:
        A com.bea.netuix.servicelevel.PortletServiceLevelDescription.
      -->
      <cache-name>PortalFrameworkServiceLevelManager/*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalLayoutDefinitionCache
 
      Use:
        Used to cache LayoutDefinition objects.
 
      Key:
        A LayoutDefinitionId.
 
      Value:
        A LayoutDefinition.
      -->
      <cache-name>portalLayoutDefinitionCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalLocalizationLocaleCache
 
      Use:
        Used to cache collections of language, character encoding, country
        and variant.
 
      Key:
        A java.lang.String.
 
      Value:
        A java.lang.Set of LocalizationLocale objects.
      -->
      <cache-name>portalLocalizationLocaleCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>0</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalLocalizationResourceCache
 
      Use:
        Used to cache localization resources.
 
      Key:
        A com.bea.netuix.application.localization.identifier.LocalizationIntersectionId.
 
      Value:
        A com.bea.netuix.application.localization.definition.LocalizationResource.
      -->
      <cache-name>portalLocalizationResourceCache:*</cache-name>
      <scheme-name>portal-partitioned</scheme-name>
      <init-params>
        <init-param>
          <param-name>back-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>back-expiry</param-name>
          <param-value>0</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalMarkupDefinitionCache
 
      Use:
        Used to cache markup definition information.
 
      Key:
        A com.bea.netuix.application.identifier.MarkupDefinitionId.
 
      Value:
        A com.bea.netuix.application.definition.MarkupDefinition.
      -->
      <cache-name>portalMarkupDefinitionCache:*</cache-name>
      <scheme-name>portal-partitioned</scheme-name>
      <init-params>
        <init-param>
          <param-name>back-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>back-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portalThemeDefinitionCache
 
      Use:
        Used to cache ThemeDefinition objects.
 
      Key:
        A ThemeDefinitionId.
 
      Value:
        A ThemeDefinition.
      -->
      <cache-name>portalThemeDefinitionCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        PortletCategoryCache
 
      Use:
        Used to cache PortletCategoryDefinition objects.
 
      Key:
        A PortletCategoryDefinitionId.
 
      Value:
        A PortletCategoryDefinition.
      -->
      <cache-name>PortletCategoryCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portletControlTreeCache
 
      Use:
        Used to cache portlet control trees for floating portlets.
 
      Key:
        A composite key of portlet instance ID and locale.
 
      Value:
        A portlet control tree.
      -->
      <cache-name>portletControlTreeCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>0</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        portletPreferencesCache
 
      Use:
        Used to cache portlet preferences.
 
      Key:
        A portlet preference identifier.
 
      Value:
        A com.bea.portlet.prefs.PortletPreferences.
      -->
      <cache-name>portletPreferencesCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>500</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        ProductItemCache
 
      Use:
        Used to cache the total number of product items in the catalog as well
        as the product items themselves.
 
      Key:
        The key for the total number of product items is a java.lang.String.
        The key for the product items is a
        com.beasys.commerce.ebusiness.catalog.ProductItemKey.
 
      Value:
        The value for the total number of product items is a java.lang.Integer.
        The value for the product item is a
        com.beasys.commerce.ebusiness.catalog.ProductItem.
      -->
      <cache-name>ProductItemCache:*</cache-name>
      <scheme-name>portal-near</scheme-name>
      <init-params>
        <init-param>
          <param-name>back-expiry</param-name>
          <param-value>6h</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        profileTypeCache
 
      Use:
        Used to cache user profile types that are used to look up the
        appropriate user manager profile manager when retrieving a user
        profile.
 
      Key:
        A user name (java.lang.String).
 
      Value:
        A profile type (java.lang.String).
      -->
      <cache-name>profileTypeCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        propertyKeyIdCache
 
      Use:
        Used to cache the unique ID associated with a property set type,
        property set and property name combination.
 
      Key:
        A compound key consisting of the property set type, property set, and
        property name.
 
      Value:
        A java.lang.Long.
      -->
      <cache-name>propertyKeyIdCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        proxyPortletCache
 
      Use:
        Used to cache ProxyPortlets.
 
      Key:
        A java.lang.String representing the portlet instance ID.
 
      Value:
        Information from the consumer registry and about the proxy portlet
        instance.
      -->
      <cache-name>proxyPortletCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>100</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>0</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        registrationHandleCache
 
      Use:
        Used to cache whether or not a particular WSRP registration handle is
        valid.
 
      Key:
        A WSRP consumer registration handle.
 
      Value:
        A java.lang.Boolean.
      -->
      <cache-name>registrationHandleCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        remoteProducerInfoCache
 
      Use:
        Used to cache the metadata for WSRP producers added to a WSRP consumer
        application.
 
      Key:
        The name of the consumer web application (java.lang.String).
 
      Value:
        A java.util.HashMap containing WSRP producer metadata. This map is
        keyed by the producer handle of each producer.
      -->
      <cache-name>remoteProducerInfoCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repo.explicitPropertyCache
 
      Use:
        Used to cache explicit property information for all WLP repositories.
 
      Key:
        The name of the repository (java.lang.String)
 
      Value:
        A java.util.Collection of repository property definition information
        for explicit properties in that WLP repository.
      -->
      <cache-name>repo.explicitPropertyCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repo.nodeIdCache.[repository name]
 
      Use:
        Used to cache node information for a specific WLP repository
        instance.
 
      Key:
        A node ID.
 
      Value:
        A repository node data object.
      -->
      <cache-name>repo.nodeIdCache.*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repo.nodePathCache.[repository name]
 
      Use:
        Used to cache node information for a specific WLP repository
        instance.
 
      Key:
        A node path.
 
      Value:
        A repository node data object.
      -->
      <cache-name>repo.nodePathCache.*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repo.typeBinaryCache.[repository name]
 
      Use:
        Used to cache node binary property information for a specific WLP
        repository instance.
 
      Key:
        A composite key of node UID and binary property UID.
 
      Value:
        A byte array representing property information.
      -->
      <cache-name>repo.typeBinaryCache.*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repo.typeIdCache.[repository name]
 
      Use:
        Used to cache node type information for a specific WLP repository
        instance.
 
      Key:
        A type ID.
 
      Value:
        A repository type data object.
      -->
      <cache-name>repo.typeIdCache.*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repo.typeNameCache.[repository name]
 
      Use:
        Used to cache node type information for a specific WLP repository
        instance.
 
      Key:
        A type name.
 
      Value:
        A repository type data object.
      -->
      <cache-name>repo.typeNameCache.*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        repositoryConfigCache
 
      Use:
        Used to cache repository configuration information.
 
      Key:
        A repository name.
 
      Value:
        A RepositoryConfig.
      -->
      <cache-name>repositoryConfigCache:*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        searchCache
 
      Use:
        Used to cache an array of IDs for nodes that satisfy a content search.
 
      Key:
        A com.beasys.commerce.foundation.expression.Search.
 
      Value:
        An array of node IDs that satisfy the query.
      -->
      <cache-name>searchCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>20</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1m</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        typeCache.[repository name]
 
      Use:
        Used to cache type information.
 
      Key:
        An ObjectClass ID.
 
      Value:
        An ObjectClass.
      -->
      <cache-name>typeCache.*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        typeNameCache.[repository name]
 
      Use:
        Used to cache type ID information.
 
      Key:
        An ObjectClass name.
 
      Value:
        An ObjectClass ID.
      -->
      <cache-name>typeNameCache.*</cache-name>
      <scheme-name>portal-replicated</scheme-name>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        versionCache
 
      Use:
        Used to cache individual versions of a Node in the BEA Content
        Repository.
 
      Key:
        A com.bea.content.ID.
 
      Value:
        A com.bea.content.virtual.version.Version.
      -->
      <cache-name>versionCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        virtualNodeCache
 
      Use:
        Used to cache a node from a repository that has versioning support
        enabled.
 
      Key:
        A com.bea.content.ID.
 
      Value:
        A com.bea.content.virtual.VirtualNode.
      -->
      <cache-name>virtualNodeCache:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        wlp.urlCompression.compressed
 
      Use:
        Used to map compressed URL IDs to the expanded URL.
 
      Key:
        A numeric compressed URL ID.
 
      Value:
        An expanded URL.
      -->
      <cache-name>wlp.urlCompression.compressed:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Cache:
        wlp.urlCompression.expanded
 
      Use:
        Used to map expanded URLs to compressed URL IDs.
 
      Key:
        An expanded URL.
 
      Value:
        A compressed URL ID.
      -->
      <cache-name>wlp.urlCompression.expanded:*</cache-name>
      <scheme-name>portal-local</scheme-name>
      <init-params>
        <init-param>
          <param-name>local-size-limit</param-name>
          <param-value>1024</param-value>
        </init-param>
        <init-param>
          <param-name>local-expiry</param-name>
          <param-value>1d</param-value>
        </init-param>
      </init-params>
    </cache-mapping>
 
    <cache-mapping>
      <!--
      Default cache mapping.
      -->
      <cache-name>*</cache-name>
      <scheme-name>portal-local</scheme-name>
    </cache-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>
 
    <local-scheme>
      <!--
      Cache scheme definition used by all local caches that require size
      limitation and/or expiry eviction policies.
      -->
      <scheme-name>portal-local</scheme-name>
      <service-name>PortalLocalCache</service-name>
 
      <eviction-policy>HYBRID</eviction-policy>
      <high-units>{local-size-limit 100}</high-units>
      <expiry-delay>{local-expiry 1h}</expiry-delay>
    </local-scheme>
 
    <local-scheme>
      <!--
      Cache scheme definition used by all near cache front maps that require
      size limitation and/or expiry eviction policies.
      -->
      <scheme-name>portal-front</scheme-name>
      <service-name>PortalLocalCache</service-name>
 
      <eviction-policy>HYBRID</eviction-policy>
      <high-units>{front-size-limit 100}</high-units>
      <expiry-delay>{front-expiry 0}</expiry-delay>
    </local-scheme>
 
    <local-scheme>
      <!--
      Cache scheme definition used by all partitioned cache backing maps that
      require size limitation and/or expiry eviction policies.
      -->
      <scheme-name>portal-back</scheme-name>
      <service-name>PortalLocalCache</service-name>
 
      <eviction-policy>HYBRID</eviction-policy>
      <high-units>{back-size-limit 1000}</high-units>
      <expiry-delay>{back-expiry 1h}</expiry-delay>
    </local-scheme>
 
    <replicated-scheme>
      <!--
      Replicated caching scheme.
      -->
      <scheme-name>portal-replicated</scheme-name>
      <service-name>PortalReplicatedCache</service-name>
 
      <serializer>
        <instance>
          <class-name>com.tangosol.io.DefaultSerializer</class-name>
        </instance>
      </serializer>
 
      <backing-map-scheme>
        <local-scheme>
          <scheme-ref>portal-back</scheme-ref>
        </local-scheme>
      </backing-map-scheme>
 
      <autostart>true</autostart>
    </replicated-scheme>
 
    <distributed-scheme>
      <!--
      Partitioned caching scheme.
      -->
      <scheme-name>portal-partitioned</scheme-name>
      <service-name>PortalDistributedCache</service-name>
 
      <serializer>
        <instance>
          <class-name>com.tangosol.io.DefaultSerializer</class-name>
        </instance>
      </serializer>
 
      <local-storage system-property="tangosol.coherence.weblogic.localstorage">false</local-storage>
 
      <backing-map-scheme>
        <local-scheme>
          <scheme-ref>portal-back</scheme-ref>
        </local-scheme>
      </backing-map-scheme>
 
      <autostart>true</autostart>
    </distributed-scheme>
 
    <near-scheme>
      <!--
      Near caching scheme.
      -->
      <scheme-name>portal-near</scheme-name>
 
      <front-scheme>
        <local-scheme>
          <scheme-ref>portal-front</scheme-ref>
        </local-scheme>
      </front-scheme>
 
      <back-scheme>
        <distributed-scheme>
          <scheme-ref>portal-partitioned</scheme-ref>
        </distributed-scheme>
      </back-scheme>
 
      <invalidation-strategy>{near-strategy present}</invalidation-strategy>
    </near-scheme>
 
    <invocation-scheme>
      <!--
      Invocation service scheme.
      -->
      <scheme-name>portal-invocation-service</scheme-name>
      <service-name>PortalInvocationService</service-name>
 
      <serializer>
        <instance>
          <class-name>com.tangosol.io.DefaultSerializer</class-name>
        </instance>
      </serializer>
    </invocation-scheme>
 
 
    <!--
    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>
 
    <!--
    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 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>