4 Cache Properties

The following topics provide information about each property associated with the Cache category in the wcs_properties.json file:

About the Properties in the Cache Category

Properties categorized under the Cache category are used to configure the BlobServer servlet, Page caching, Resultset caching, cluster settings, backwards compatibility settings, satellite server settings, asset default settings, security settings, session timeouts, and Global Unique Identifiers used by the WebCenter Sites servlets.

The Cache category contains the following types of properties:

Blob Server Properties

Blob Server properties configure the BlobServer servlet. BlobServer serves blobs. It gathers a blob from a table and performs all the necessary security checks. When BlobServer serves a blob, it caches it in both WebCenter Sites and Satellite Server.

Page Cache Properties

Page caching properties configure the page cache settings for WebCenter Sites. WebCenter Sites page caching is monitored and maintained by the CacheManager. WebCenter Sites caching enables you to cache both complete web pages and their individual components (or pagelets). To set up page caching on a WebCenter Sites system, you configure properties for the CacheManager and the Satellite Server servlets.

For more information about page caching, see Oracle Fusion Middleware Developing with Oracle WebCenter Sites.

Resultset Caching Properties

ResultSet caching properties configure resultset caching for WebCenter Sites. For information about resultset caching and queries on your WebCenter Sites system, see Oracle Fusion Middleware Developing with Oracle WebCenter Sites.

ResultSet caching properties include:

  • Global resultset caching properties, which are set during the WebCenter Sites installation process to enable resultset caching for all tables in the WebCenter Sites database. The same properties will be automatically applied to all tables that are subsequently created. The properties are:

    • cc.cacheResults: number of resultsets to cache in memory.

    • cc.cacheResultsTimeout: length of time to keep resultsets cached in memory.

    • cc.cacheResultsAbs: method of calculating expiration time for resultsets in the resultset cache.

  • Table-specific resultset caching properties for system tables. These properties are automatically set during the WebCenter Sites installation process to override the global resultset caching properties named above.

    For example, the following table-specific properties are set for the ElementCatalog table: cc.ElementCatalogCSz and cc.ElementCatalogTimeout. The property values can be changed, or the properties can be removed (the resultset cache for the table will then use the values of the global properties).

Cluster Properties

Cluster properties are used by WebCenter Sites to communicate with all the servers in a cluster when a WebCenter Sites system is installed in a cluster.

Compatibility Properties

Compatibility properties set values necessary for backward compatibility with earlier versions of WebCenter Sites.

Satellite Server Properties

Satellite Server properties describe how to communicate with any of the Satellite servlets (Satellite Server), whether they are running locally or on remote servers.

Asset Default Properties

Asset default properties are used to define certain default details about asset types, such as cache information, default ACLs, and whether CKEditor is present.

Security and Session Timeout Properties

Properties that control such things as security settings, session timeouts, Global Unique Identifiers that the WebCenter Sites servlets use, the amount of idle time a connection can have before WebCenter Sites logs out of a connection, and whether WebCenter Sites loads cache synchronization processing.

Properties in the Cache Category

Table 4-1 provides a description for each of the properties in the JSON file that are associated with the Cache category.

Table 4-1 Cache Properties

Property Description

bs.bCacheSize

Specifies the default number of blobs that can be cached (to memory).

Default value: 1000

bs.bCacheTimeout

Specifies the number of seconds that a blob will remain cached in memory. Note that the memory cache is cleared whenever the BlobServer servlet is restarted. This property affects the operation of CacheManager as follows: When compositional dependencies are recorded against a blob in the SystemItemCache table, they are configured such that they will be removed from the table after the blob expires from the cache. This prevents excessive growth of the SystemItemCache table. However, removing the entry from the table disables CacheManager from removing the corresponding blobs from the Tier 2 cache, and users will view stale data.

Possible values: negative integer, 0, and positive integer

Default value: -1

The blob will remain cached in memory forever, unless it is evicted because more recently used blobs have filled the cache.

Note: The value of this property affects cs.manage.expired.blob.inventory as follows:

  • A value of 0 or less causes cs.manage.expired.blob.inventory to have no effect.

  • A positive integer with cs.manage.expired.blob.inventory set to true ensures that CacheManager operates correctly, but at the cost of growth in the SystemItemCache table.

For more information, see cs.manage.expired.blob.inventory.

bs.invalidheadernames

Comma separated list of invalid headers which are ignored by BlobServer.

Note: If headers are specified as both valid (bs.validheadernames) and invalid (bs.invalidheadernames), the headers specified in bs.validheadernames take precedence.

For more information, see bs.invalidheadername.

bs.security

Specifies whether the BlobServer servlet checks security before allowing database access and image retrieval. If security is on, images cannot be cached in memory. If you enable BlobServer security, the BlobServer servlet serves the data only if the csblobid parameter exists in the URL and its value matches a session variable of the same name, as in the following example:

<IMG SRC="BlobServer?blobtable=MovieImages&#38;blobcol=urlimage&#38;blobkey=id&#38;csblobid=SessionVariables.blobid&#38;blobwhere=25"/>

Possible values: true | false

Subcategory: Blobcache

bs.validheadernames

Comma separated list of valid headers which are allowed by BlobServer.

Note: If headers are specified as both valid (bs.validheadernames) and invalid (bs.invalidheadernames), the headers specified in bs.validheadernames take precedence.

For more information, see bs.invalidheadernames.

cc.AssetTypeCSz

The number of resultsets to cache against the AssetType table, an object table that is created by the WebCenter Sites installation.

Default value: 50

cc.BlobServerCacheCSz

Specifies the maximum number of blobs that will be cached in memory. If memory is at a premium, you may reduce the value of this property.

Default value: 1000

cc.BlobServerTimeout

Specifies the default lifetime (in minutes) of a cached blob in memory. If memory is at a premium, you may reduce the value of this property.

Default value: 1440 (that is, 24 hours)

cc.cacheNoSync

Specifies whether the system allows the database query transaction data cached by WebCenter Sites to persist even if a cluster member updates the table.

Default value: false

You can set table-specific values for individual tables by adding a property in the following format:

cc.<sometable>CSync=<true or false>

cc.cacheResults

Specifies the default number of resultsets to cache in memory. Note that this does not mean the number of records in a resultset, but the number of resultsets. Caution: Unless you are debugging, do not set this property to 0 or -1. If you do, WebCenter Sites will fail to save assets properly. (Setting this property to 0 or -1 disables resultset caching for all tables that do not have their own caching properties configured.)

Possible values: <n> (number of resultsets)

Default value: 500

Note: To set a different value for a specific table, create a property for that table using the following format: cc.<tablename>CSz=<number of resultsets>

cc.cacheResultsAbs

Specifies how expiration time for resultsets in the resultset cache is calculated.

  • If this property is set to true, the expiration time for a resultset is absolute. For example, if cc.cacheResultsTimeout is set to 5 minutes, then 5 minutes after the resultset was cached, it is flushed from the cache.

  • If this property is set to false, the expiration time for a resultset is based on its idle time. For example, if cc.cacheResultsTimeout is set to 5 minutes, the resultset is flushed from the cache 5 minutes after the last time it was requested rather than 5 minutes since it was originally cached.

Default value: false

Note: To set expiration time for a specific table, create a property for that table using the following format: cc.<tablename>CAbs=<true or false>

cc.cacheResultsTimeout

Specifies the number of minutes to keep a resultset cached in memory. Setting this property to -1 means that there is no timeout value for tables that do not have their own caching properties configured.

Possible values: <n> (in minutes), or -1 to disable timeout for tables that use this default property.

Default value: 5

Note: To set timeout for a specific table, create a property for that table using the following format: cc.<tablename>Timeout=<number of minutes>

cc.CategoryCSz

The number of resultsets to cache against the Category table, an object table that the WebCenter Sites installation creates for asset types.

Default value: 50

cc.ElementCatalogCSz

Specifies the number of resultsets to cache against the ElementCatalog table. For best performance this value should be set to the number of rows in the table.

Default value: 1000

cc.ElementCatalogTimeout

Specifies the number of minutes to keep idle resultsets for the ElementCatalog table in the resultset cache. Use -1 to disable timeout.

Default value: 60

cc.SiteCatalogCSz

Specifies the number of resultsets to cache against the SiteCatalog table. For best performance, this value should be set to the number of rows in the table.

Default value: 1000

cc.SiteCatalogTimeout

Specifies the number of minutes to keep idle resultsets for the SiteCatalog table in the resultset cache. Use -1 to disable timeout.

Default value: 60

cc.StatusCodeCSz

The number of resultsets to cache against the StatusCode table, a content table that the WebCenter Sites installation creates for asset types.

Default value: 10

cc.SystemACLCSz

Specifies the number of resultsets to cache against the SystemACL table. For best performance, this value should be proportional to the number of rows in the table.

Default value: 25

cc.SystemACLTimeout

Specifies the number of minutes to keep idle resultsets for the SystemACL table in the resultset cache.

Default value: -1 (which disables timeout for this table)

cc.SystemInfoCSz

Specifies the number of resultsets to cache against the SystemInfo table. For best performance, this value should be set to the number of rows in the table.

Default value: 500

cc.SystemInfoTimeout

Specifies the number of minutes to keep idle resultsets for the SystemInfo table in the resultset cache.

Default value: -1 (which disables the timeout for this table)

cc.SystemPageCacheCSz

Specifies the maximum number of pages that can be cached in memory. Pages are cached both in memory and to disk (database). This property specifies the number of pages cached to memory, not to disk.

Default value: 10000

Note: This property must not be set to -1.

cc.SystemPageCacheTimeout

Specifies the number of minutes a cached page is held in memory (cached pages are cached both to disk and to memory).

Default value: 1440 (that is, 24 hours)

cc.SystemUsersCSz

Specifies the number of resultsets to cache against the SystemUsers table. For best performance, this value should be proportional to the number of rows in the table.

Default value: 100

cc.SystemUsersTimeout

Specifies the number of minutes to keep idle resultsets for the SystemUsers table in the resultset cache.

Default value: -1 (which disables timeout for this table)

cs.alwaysusedisk

Specifies the default cache setting for page entries in the SiteCatalog table that have no information in their cacheinfo column. If set to yes, then each page served from WebCenter Sites is cached to disk (the database), unless the value in that page entry's cacheinfo column specifies that it not be cached.

Default value: no

Subcategory: Pagecache

cs.cookievariables

Specifies if cookie variables should be created for servlet request information. Generating cookie variables can confuse page criteria for page requests and works only for outer pages.

Default value: false

cs.disksize

Specifies the size limit in bytes for keeping uploaded files in memory while they are being posted. If an uploaded file is larger than the value specified, WebCenter Sites streams it to a temporary file until it is finished evaluating a page. This prevents excessive memory use and helps to prevent denial-of-service attacks.

Default value: 102400

cs.expireonly

Controls how outdated pages are expunged from the cache. When this property is set to false, pages that need to be expunged from the cache are deleted immediately and synchronously, that is, the user must wait until all pages are deleted. When this property is set to true, pages that need to be expunged from the cache are marked for deletion, taken out of service, and then deleted at a later time by a cache cleanup event.

Possible values: true | false

Default value: true

cs.freezeCache

Specifies whether a cache maintenance event should regularly remove expired pages from the cache, or whether the expiration date of a page should be checked only when that page is requested. Set the value to yes if you do not want an event to regularly remove expired pages from the cache.

Default value: no

cs.IItemList

Defines the file that is used for the ItemList interface that is used by the CacheManager. The IItemList interface is used to record compositional dependencies in the page cache. When this property is set to a legal class, dependency items will be recorded against a page id in the SystemItemCache table. This enables CacheManager. An illegal value results in CacheManager having no effect.

Default value: com.openmarket.xcelerate.publish.MyItemList

Note: The default value is provided for reference only. Do not change the value of this property.

cs.manage.expired.blob.inventory

Controls whether the CacheServer servlet removes blobkey/compositional dependency mappings from the SystemItemCache table after the blobs expire from the local blobserver cache. (The CacheServer servlet is typically invoked every five minutes by the event engine.)

Possible values: true|false

  • true disables the CacheServer servlet from removing blobkey/compositional dependency mappings from the SystemItemCache table when the blobs expire.

  • false enables the CacheServer servlet to remove expired blob references from the SystemItemCache table when the blobs expire.

Default value: false

Note: How this property takes effect depends on the value of the bs.bCacheTimeout property.

cs.nocache

Provides you with the ability to disable all disk-based page caching (pages will still be cached in memory). Use this property to temporarily shut down page caching when you are debugging your site, but do not leave this value set to true on a live system.

Default value: false

cs.pgcachefolder

This property is no longer used. When setting cacheinfo for a SiteCatalog entry, previously you had to set a property that pointed to a valid folder in order to cache items. An invalid property or an invalid folder would result in pages not being cached. This property was the default location to which pages would be cached.

Now, we do not need to specify a cs.pgcachefolder because cached pages are stored in the database. The cacheinfo column now allows a boolean value, true or false, to specify whether or not a page will be cached.

If the value is neither true nor false, it will be checked according to the previous behavior, such that it must be set to a property referring to a valid folder for caching to occur.

Until SiteCatalog cacheinfo entries have been corrected on your site, you should keep this property around and set it to a valid folder.

Typical values include:

  • c:/FutureTense/pgcache

  • /export/home/FutureTense/pgcache

Edit this value to match your installation requirements.

Default value: <wcsites.home>/cache

cs.pgCacheTimeout

Specifies the number of minutes that a page will exist in the page cache.

Default value: 0

cs.recordBlobInventory

Allows users to work with blob dependencies. To record blob inventory, set the value of this property to true.

Default value: true

cs.requiresessioncookies

Specifies whether session ID information can be held in cookies or whether WebCenter Sites must encode session data into the links. Set to true (the default) if WebCenter Sites expects session cookies to be enabled. This allows all pages to be cached and does not encode the session id into any links. A value of false enables URL rewriting, with a negative effect on page caching performance.

Default value: true

rsCacheOverInCache

Used to switch between resultset caching media. This property is set to true by default, in which case WebCenter Sites caches resultsets in the inCache framework. When this property is set to false, WebCenter Sites caches resultsets in hash tables. Both caching media use the JVM memory. This property is set to true during the WebCenter Sites installation process. The process also completes following steps:

  • Places the linked-cache.xml configuration file in the application server's classpath (WEB-INF/classes directory).

  • Sets the following resultset caching properties: cc.cacheResults, cc.cacheResultsTimeout, and cc.cacheResultsAbs.

When the installation process is complete, the System Tools node (on the Admin tab of the Admin interface) displays the resultset over inCache tool, which provides statistical information about the caches and their contents.

Possible values: true | false

Default value: true

Note: Resultset caching over inCache works independently of page and asset caching over inCache. Information about the inCache framework, its caching models and system tools is available in Troubleshooting Using System Tools in Administering Oracle WebCenter Sites. Additional information about resultset caching is also available in Working with Resultset Caching and Queries in Developing with Oracle WebCenter Sites.

satellite.blob.cachecontrol.default

Specifies a default value for the cachecontrol parameter for the satellite.blob, and RENDER.SATELLITEBLOB tags and their JSP equivalents.

Default value: blank

Set this property to a value that is appropriate for the majority of your blobs, and then use the cachecontrol parameter with the satellite.blob and RENDER.SATELLITEBLOB tags to override this value for individual blobs.

Use the following format to set a value:

hours:minutes:seconds daysOfWeek/daysOfMonth/months

For more information about this property, see the expiration property.

ss.flushall

Controls how Satellite Server cache is flushed. When this property is set to false (default), only outdated pagelets are flushed from the Satellite Server cache. When this property is set to true, the Satellite Server cache is flushed completely (when a single asset is updated).

Possible values: true | false

Default value: false

Subcategory: Pagecache

xcelerate.defaultcscacheinfo

Specifies the default value for the Cache Rule (ContentServer) field of SiteEntry and Template assets that are enabled for caching. The value is displayed when the Advanced caching option is selected; the value can be overridden.

The Cache Rule (ContentServer) field maps to the cscacheinfo field in the SiteCatalog table, for each entry that corresponds to a SiteEntry asset or Template asset.

Default value: true, ~0

xcelerate.defaultpagecriteria

Specifies the default value for the pagecriteria column for page entries in the SiteCatalog table when they are created through a Template asset.

Default value: c, cid, p, rendermode, site, sitepfx, context, deviceid

For definitions of these variables and for more information about page criteria variables, see Understanding Page Design and Caching in Developing with Oracle WebCenter Sites.

xcelerate.defaultpagecriteriaSiteEntry

Default page criteria for SiteEntry asset.

Specifies the page criteria variables that can be set by default for SiteEntry assets. While you can add variables to this list, do not delete any of the default values.

Default value: rendermode, site, sitepfx, seid

  • rendermode indicates whether this is a preview or a live rendering.

  • site indicates to which site this template applies (needed for SiteBuilder style site entries).

  • sitepfx indicates the site prefix as defined in the Publication table (needed for SiteBuilder style site entries).

  • seid is the SiteEntry id which will be used for cache management.

xcelerate.defaultsscacheinfo

Specifies the default value for the Cache Rule (Satellite) field of SiteEntry and Template assets that are enabled for caching. The value is displayed when the Advanced caching option is selected; the value can be overridden.

The Cache Rule (Satellite) field maps to the sscacheinfo field in the SiteCatalog table, for each entry that corresponds to a SiteEntry asset or Template asset.

Default value: true, ~0