Package lumis.portal.page.cache

Package class diagram package lumis.portal.page.cache
Implements the portal's page HTML cache engine.

See:
          Description

Interface Summary
IPageCacheManager Provides page cache operations.
IPageCacheQueueResolver Resolves the generation queue to be used for the cache of a web resource.
 

Class Summary
DefaultPageCacheQueueResolver The default resolver for a cache's generation queue.
HtmlGenerationConfig Contains configurations for the cache HTML generation.
PageCacheConfig Stores information about the caching of a page.
PageCacheControllerHtml Contains implementations for handling HTTP requests specific for page HTML cache scenarios.
PageCacheGeneratorStarter Starts and stops the page cache generators.
PageCacheManager Manager for page cache information.
PageCacheManager.HttpAccessResult Structure used to hold the result of PageCacheManager.doHttpAccess(URL, String).
PageCacheMonitorUtil Utility class for page cache monitoring.
PageCacheObserver Observer that clears page caches according to the notifications received.
PageCacheSSIFilter Servlet filter responsible for replacing include start string ("<!--#include") for a customized one ("<!--LumisInclude") after the processing of the request.
 

Enum Summary
IPageCacheManager.GenerationOutcome Indicates the outcome of a page generation.
PageCacheMonitorUtil.Event Enumeration of monitoring events configurations related to page cache.
PageCacheMonitorUtil.MeasureType Enumeration of measure types configurations related to page cache monitoring.
 

Exception Summary
PageCacheControllerHtml.PageUnavailableException Exception thrown when the requested page is temporarily unavailable, for example, due to timeout in the page generation.
 

Package lumis.portal.page.cache Description

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 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


Lumisportal  6.2.0.120405 - Copyright © 2006–2012 Lumis EIP Tecnologia da Informação LTDA. All Rights Reserved.