Package lumis.portal.page.cache

Implements the portal's page HTML cache engine. Generates the HTML for pages with cache enabled and handles requests for missing caches.

Overview

IPageCacheManager is the main entry point for this package. An instance of this interface may be obtained by calling {@link lumis.portal.manager.ManagerFactoryInternal.getPageCacheManager()}.

A generator runs in the background, generating the cache for pages outdated.

PageRenderDataChangedEvent events are observed, invalidating the corresponding caches as appropriated.

Shadow cache, when enabled, saves the generated HTML in a second-level cache. When page cache is requested but not present, the shadow cache copy is used if available.

The global configuration for the HTML cache feature is encapsulated by HtmlGenerationConfig, available in PortalContext.getHtmlGenerationConfig(). This configuration is done in the lumisportalconfig.xml file. Scoped configurations exist in PageCacheQueue, PageCacheGeneratorProfile and PageCacheGeneratorConfig.

Generator

The generator contains a pool of threads that generates the HTML for pages that have their cache outdated. The choice of the order of page generation is composed for a set of factors, including user demand, page characteristics and priority configurations.

Cache states

The following diagram shows the cache state flow while no user interference happens:

Requests for cached pages

The following activity diagram shows how requests for cached pages are processed:
Since:
4.0.0
Version:
$Revision$ $Date$