eXo Platform provides a list of ECMS caches, including:
These ECMS caches are handled by various cache services and plugins in the configuration.properties
file.
# == WCM Caches Configuration == #
# WCM Cache Configuration - Query Service
# - Standalone (live time in seconds)
# - Cluster (expiration in milliseconds)
wcm.cache.queryservice.maxnodes=5000
wcm.cache.queryservice.expirationtimeout=600000
# WCM Cache Configuration - Manage Drive
# - Standalone (live time in seconds)
# - Cluster (expiration in milliseconds)
wcm.cache.managedrive.maxnodes=5000
wcm.cache.managedrive.expirationtimeout=600000
# WCM Cache Configuration - Script Service
# - Standalone (live time in seconds)
wcm.cache.scriptservice.capacity=300
wcm.cache.scriptservice.timetolive=86400
# WCM Cache Configuration - Templates Service
# - Standalone (time to live in seconds)
wcm.cache.templateservice.capacity=3000
wcm.cache.templateservice.timetolive=86400
# WCM Cache Configuration - Initial Webcontent
# - Standalone (time to live in seconds)
wcm.cache.webcontent.initialwebcontentplugin.capacity=300
wcm.cache.webcontent.initialwebcontentplugin.timetolive=86400
# WCM Cache Configuration - Fragment Cache Service (Markup Cache)
# - Standalone (time to live in seconds)
wcm.cache.fragmentcacheservice.capacity=10000
wcm.cache.fragmentcacheservice.timetolive=30
# WCM Cache Configuration - PDF Viewer Service
# - Standalone (time to live in seconds)
wcm.cache.pdfviewer.capacity=1000
wcm.cache.pdfviewer.timetolive=3600
# WCM Cache Configuration - SEO Cache
# - Standalone (time to live in seconds)
wcm.cache.seoservice.capacity=1000
wcm.cache.seoservice.timetolive=3600
# WCM Cache Configuration - Javascript Cache
# - Standalone (time to live in seconds)
cache.exo.ecms.javascript.maxSize=1000
cache.exo.ecms.javascript.liveTime=3600
The specific configuration of ECMS caches can be found in two files:
i. For WCMDriveCache, ScriptCache, FragmentCache, TemplateCache, InitialWebContentCache and PDFCache:
$PLATFORM_TOMCAT_HOME/webapps/ecm-wcm-core.war!/WEB-INF/conf/wcm-core/core-services-configuration.xml
(in Tomcat).
$PLATFORM_JBOSS_HOME/standalone/deployments/platform.ear!/ecms-core-webapp.war!/WEB-INF/conf/wcm-core/core-services-configuration.xml
(in JBoss).
ii. For SEOCache:
$PLATFORM_TOMCAT_HOME/webapps/ecm-wcm-extension.war!/WEB-INF/conf/wcm-extension/wcm/seo-configuration.xml
(in Tomcat).
$PLATFORM_JBOSS_HOME/standalone/deployments/platform.ear!/ecms-packaging-wcm-webapp.war!/WEB-INF/conf/wcm-extension/wcm/seo-configuration.xml
(in JBoss).
The WCMDriveCache caches visited drives of Sites Explorer by their names. When any users visit the cached drives, these drives will be directly retrieved from cache rather than the database.
The WCMDriveCache is invalidated when the drive is removed or added.
The WCMDriveCache size equals to the number of drives in cache.
The maximum heap size is consumed by the cache:
An item of drive cache contains: name, workspace, homePath, permission, view, icon, allowcreatefolders, viewReferences, viewNondocument,viewSidebar,showHiddenNode.
The first 7 elements are of String and their length often should not be greater than 1000.
The last 4 elements are of Boolean and the size of each element is 1 byte.
Thus, the maximum heap size equals to the cache size multiplied by 7004 bytes.
The ScriptCache caches the script objects. When there are any requests for cached scripts, these scripts are taken from cache rather than the database.
The ScriptCache is never invalidated.
The ScriptCache size equals to the number of scripts in cache.
The maximum heap size equals to the cache size multiplied by size of the script object.
The FragmentCache caches content of SCVs and CLVs. When any users call for these cached portlets, these portlets will be retrieved from cache rather than the database.
The FragmentCache is invalidated when SCVs and CLVs are switched from the edit to the live mode.
The FragmentCache size equals to the number of SCVs/CLVs in cache.
The maximum heap size consumed by the cache: cache size multiplied by size of SCVs/CLVs (the SCVs/CLVs size is unlimited).
The TemplateCache caches the list of document nodetypes. When any users call for the cached document nodetypes, data will be retrieved from cache rather than the database.
The TemplateCache is invalidated when the document template is updated.
The TemplateCache size equals to 1.
The maximum heap size consumed by the cache is unlimited. However in reality, the TemplateCache often caches node names only, so the maximum heap size is often less than 10KB.
The InitialWebContentCache caches the artifact (node) that is necessary to deploy to a new portal. When the cached artifact is called, it will be read and returned from cache rather than the database.
The InitialWebContentCache is never invalidated because the initial artifact is never changed.
The InitialWebContentCache size equals to the number of deployed artifacts in cache.
The maximum heap size equals to the total size of all artifacts.
The PDFCache caches the path to a specific page in a specific PDF file. In eXo Platform, when a user views an Office document or PDF file, the viewed page is extracted into a PDF file, and REST is used to return that file content to client browser. When the cached page is called, its data will be taken from cache (based on the page path) rather than the database.
The PDFCache is never invalidated.
The PDFCache size equals to the number of document pages viewed by users.
The maximum heap size equals to the cache size multiplied by 200 bytes (supposing that the longest file path is 200 characters in reality).
The SEOCache caches the SEO metadata of all pages in all sites. When the SEO metadata of these cached pages are called, the created pages will be got based on the page path from cache rather than the database.
The SEOCache is never invalidated.
The SEOCache size equals to the number of pages to which the SEO metadata is added.
The maximum heap size is calculated as follows:
Each Metadata object contains: 8 String objects (including uri, rbcontent, keywords, description, title, frequency, fullStatus, pageReference). Their length is usually less than 100 characters.
One float (4 bytes) object priority and one boolean (1 byte) object sitemap.
Thus, the total heap size equals to the cache size multiplied by 805 bytes.