eXo Platform provides 6 Calendar caches, including:
These Calendar caches are defined in the configuration.properties
file.
# CALENDAR Caches Configuration#
# Calendar Cache Configuration - Group Calendar
# - Standalone (time to live in seconds)
cache.exo.calendar.GroupCalendarCache.Capacity=1000
cache.exo.calendar.GroupCalendarCache.TimeToLive=3600
# Calendar Cache Configuration - Group Calendar Event
cache.exo.calendar.GroupCalendarEventCache.Capacity=1000
cache.exo.calendar.GroupCalendarEventCache.TimeToLive=3600
# Calendar Cache Configuration - Group Calendar Recurrent Event
cache.exo.calendar.GroupCalendarRecurrentEventCache.Capacity=1000
cache.exo.calendar.GroupCalendarRecurrentEventCache.TimeToLive=3600
# Calendar Cache Configuration - User Calendar
cache.exo.calendar.UserCalendarCache.Capacity=1000
cache.exo.calendar.UserCalendarCache.TimeToLive=3600
# Calendar Cache Configuration - User Calendar Setting
cache.exo.calendar.UserCalendarSettingCache.Capacity=1000
cache.exo.calendar.UserCalendarSettingCache.TimeToLive=3600
# Calendar Cache Configuration -Event Categories
cache.exo.calendar.EventCategoriesCache.Capacity=1000
cache.exo.calendar.EventCategoriesCache.TimeToLive=3600
The specific configuration of each Calendar cache can be found in:
$PLATFORM_TOMCAT_HOME/calendar-extension/WEB-INF/cs-extension/cs/cs-configuration.xml
(in Tomcat).
$PLATFORM_JBOSS_HOME/standalone/deployments/platform.ear!/calendar-extension-webapp.war!/WEB-INF/cs-extension/cs/cs-configuration.xml
(in JBoss).
The GroupCalendarCache caches the Calendar objects. This object contains metadata information of a calendar, such as calendar name, time zone, permissions. When any users access the cached group calendar, the metadata of this group calendar will be retrieved from cache rather than the database.
The cached GroupCalendarCache is invalidated when the user updates calendar metadata, such as creating, deleting, updating calendars (changing time zone).
The GroupCalendarCache size equals to the number of Calendar objects in cache.
Each Calendar object is approximately 75 bytes, so the maximum heap size equals to the cache size multiplied by 75 bytes.
The UserCalendarCache caches the Calendar object. When any users access the cached user calendar, the metadata of this user calendar will be retrieved from cache rather than the database.
The UserCalendarCache is invalidated when the user updates calendar metadata, such as creating, deleting, updating calendar (changing time zone).
The UserCalendarCache size equals to the number of Calendar objects in cache.
Each Calendar object is approximately 75 bytes, so the maximum heap size equals to the cache size multiplied by 75 bytes.
The GroupCalendarEventCache caches information about events, for example, summary, datetime, invitations, attachments. When any users show content of a group calendar (for example, its events, tasks) for the first time, a query will be made, then put the result to the cache. When another users access the cached content, its data will be retrieved from cache rather than the database.
The GroupCalendarEventCache is invalidated when the users make changes on content of the group calendar, for example, creating, deleting tasks, updating summary of events.
The GroupCalendarEventCache size equals to the number of events in cache.
If the event does not contain the attachment file, each event object is approximately 200 bytes. Therefore, the maximum heap size equals to the cache size multiplied by 200 bytes.
GroupCalendarRecurrentEventCache
The GroupCalendarRecurrentEventCache caches information about recurring events, for example, summary, datetime, invitations, and attachment. When any users show content of a group calendar that contains the recurring event (for example, its events, tasks) for the first time, a query will be made, then put the result to the cache. When another users access the cached content, the data query will be retrieved from cache rather than the database.
The GroupCalendarRecurrentEventCache is invalidated when the user makes changes on recurring events, for example, deleting, updating summary of recurring events.
The GroupCalendarRecurrentEventCache size equals to the number of recurring events in cache.
If the recurring event does not contain the attachment file, each object is approximately 200 bytes. Therefore, the maximum heap size equals to the cache size multiplied by 200 bytes.
The UserCalendarSettingsCache caches information about calendar settings, such as datetime format, calendar filter, view types. When the user needs calendar settings, such as access to calendar page and need to render current view (month view, week view), a query is made and put the setting information to the cache. If another users access the cached calendar settings, the data will be directly retrieved from cache rather than the database.
The UserCalendarSettingsCache is invalidated when the user changes his settings or the user is deleted.
The UserCalendarSettingsCache size equals to the number of calendar settings in cache.
Each Calendar setting object is approximately 80 bytes, so the maximum heap size equals to the cache size multiplied by 80 bytes.
The EventCategoriesCache caches event category names and Ids. When an event category is called for the first time, a query is made and data is put into the cache. For next time, when another users call the cached event category, its data will be retrieved from cache rather than the database.
The EventCategoriesCache is invalidated when the user creates, updates or deletes the event category.
The EventCategoriesCache size equals to the number of event categories in cache.
The EventCategoriesCache size is approximately 24 bytes, so the maximum heap size equals to the cache size multiplied by 24 bytes.