Package org.opencms.ade.configuration
Class CmsGlobalConfigurationCacheEventHandler
java.lang.Object
org.opencms.ade.configuration.CmsGlobalConfigurationCacheEventHandler
- All Implemented Interfaces:
I_CmsEventListener
This event handler manages cache instances which are instances of the interface
I_CmsGlobalConfigurationCache.
It keeps a list of cache instance pairs, each containing one cache for the online mode and one for the offline mode,
and handles events caused by changed resources by notifying the cache instances.
Note that *all* changed resources will get passed to the underlying cache instances, so those instances will need to check
whether the resource passed into the update or remove methods is actually a resource with which the cache instance is concerned.
This class should be used if you have an indefinite number of configuration files at arbitrary locations in the VFS.
If you need to cache e.g. a single configuration file with a known, fixed path, using CmsVfsMemoryObjectCache is
easier.
-
Field Summary
Fields inherited from interface org.opencms.main.I_CmsEventListener
EVENT_BEFORE_PUBLISH_PROJECT, EVENT_CLEAR_CACHES, EVENT_CLEAR_OFFLINE_CACHES, EVENT_CLEAR_ONLINE_CACHES, EVENT_CLEAR_PRINCIPAL_CACHES, EVENT_FLEX_CACHE_CLEAR, EVENT_FLEX_PURGE_JSP_REPOSITORY, EVENT_FULLSTATIC_EXPORT, EVENT_GROUP_MODIFIED, EVENT_LOGIN_USER, EVENT_OU_MODIFIED, EVENT_PROJECT_MODIFIED, EVENT_PROPERTY_DEFINITION_CREATED, EVENT_PROPERTY_DEFINITION_MODIFIED, EVENT_PROPERTY_MODIFIED, EVENT_PUBLISH_PROJECT, EVENT_REBUILD_SEARCHINDEXES, EVENT_REINDEX_OFFLINE, EVENT_REINDEX_ONLINE, EVENT_RESOURCE_AND_PROPERTIES_MODIFIED, EVENT_RESOURCE_COPIED, EVENT_RESOURCE_CREATED, EVENT_RESOURCE_DELETED, EVENT_RESOURCE_MODIFIED, EVENT_RESOURCE_MOVED, EVENT_RESOURCES_AND_PROPERTIES_MODIFIED, EVENT_RESOURCES_MODIFIED, EVENT_SITEMAP_CHANGED, EVENT_UPDATE_EXPORTS, EVENT_USER_MODIFIED, KEY_CHANGE, KEY_DBCONTEXT, KEY_GROUP_ID, KEY_GROUP_NAME, KEY_INDEX_NAMES, KEY_INSTANT_PUBLISH, KEY_IS_ONLINE, KEY_OU_ID, KEY_OU_NAME, KEY_PROJECTID, KEY_PUBLISHID, KEY_PUBLISHLIST, KEY_REINDEX_RELATED, KEY_REPORT, KEY_RESOURCE, KEY_RESOURCES, KEY_SKIPINDEX, KEY_USER_ACTION, KEY_USER_CHANGES, KEY_USER_ID, KEY_USER_NAME, LISTENERS_FOR_ALL_EVENTS, VALUE_CREATE_SIBLING, VALUE_GROUP_MODIFIED_ACTION_CREATE, VALUE_GROUP_MODIFIED_ACTION_DELETE, VALUE_GROUP_MODIFIED_ACTION_WRITE, VALUE_OU_MODIFIED_ACTION_CREATE, VALUE_OU_MODIFIED_ACTION_DELETE, VALUE_USER_MODIFIED_ACTION_ADD_USER_TO_GROUP, VALUE_USER_MODIFIED_ACTION_CREATE_USER, VALUE_USER_MODIFIED_ACTION_DELETE_USER, VALUE_USER_MODIFIED_ACTION_REMOVE_USER_FROM_GROUP, VALUE_USER_MODIFIED_ACTION_RESET_PASSWORD, VALUE_USER_MODIFIED_ACTION_SET_OU, VALUE_USER_MODIFIED_ACTION_WRITE_USER -
Constructor Summary
ConstructorsConstructorDescriptionCmsGlobalConfigurationCacheEventHandler(CmsObject onlineCms) Creates a new cache event handler. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCache(I_CmsGlobalConfigurationCache offlineCache, I_CmsGlobalConfigurationCache onlineCache, String debugName) Adds a new pair of cache instances which should be managed by this event handler.voidAcknowledge the occurrence of the specified event, implement this method to check for CmsEvents in your class.protected voidClears the offline caches.protected voidofflineCacheRemove(CmsPublishedResource resource) Removes a resource from the offline caches.protected voidofflineCacheRemove(CmsResource resource) Removes a resource from the offline caches.protected voidofflineCacheUpdate(CmsPublishedResource resource) Updates a resource in the offline caches.protected voidofflineCacheUpdate(CmsResource resource) Updates a resource in the offline caches.protected voidClears the online caches.protected voidonlineCacheRemove(CmsPublishedResource resource) Removes a resource from the online caches.protected voidonlineCacheRemove(CmsResource resource) Removes a resource from the online caches.protected voidonlineCacheUpdate(CmsPublishedResource resource) Updates a resource in the online caches.protected voidonlineCacheUpdate(CmsResource resource) Updates a resource in the online caches.
-
Constructor Details
-
CmsGlobalConfigurationCacheEventHandler
Creates a new cache event handler.- Parameters:
onlineCms- an online CMS object
-
-
Method Details
-
addCache
public void addCache(I_CmsGlobalConfigurationCache offlineCache, I_CmsGlobalConfigurationCache onlineCache, String debugName) Adds a new pair of cache instances which should be managed by this event handler.- Parameters:
offlineCache- the offline cache instanceonlineCache- the online cache instancedebugName- an identifier used for debugging
-
cmsEvent
Description copied from interface:I_CmsEventListenerAcknowledge the occurrence of the specified event, implement this method to check for CmsEvents in your class.- Specified by:
cmsEventin interfaceI_CmsEventListener- Parameters:
event- CmsEvent that has occurred- See Also:
-
offlineCacheClear
Clears the offline caches. -
offlineCacheRemove
Removes a resource from the offline caches.- Parameters:
resource- the resource to remove
-
offlineCacheRemove
Removes a resource from the offline caches.- Parameters:
resource- the resource to remove
-
offlineCacheUpdate
Updates a resource in the offline caches.- Parameters:
resource- the resource to update
-
offlineCacheUpdate
Updates a resource in the offline caches.- Parameters:
resource- the resource to update
-
onlineCacheClear
Clears the online caches. -
onlineCacheRemove
Removes a resource from the online caches.- Parameters:
resource- the resource to remove
-
onlineCacheRemove
Removes a resource from the online caches.- Parameters:
resource- the resource to remove
-
onlineCacheUpdate
Updates a resource in the online caches.- Parameters:
resource- the resource to update
-
onlineCacheUpdate
Updates a resource in the online caches.- Parameters:
resource- the resource to update
-