Managing resources of eXo Platform is critical for IT operators and system administrators to monitor and supervise the production system.

The eXo Platform product is exposed as a manageable set of resources that can be inspected at runtime to monitor and manage servers.

When it comes to Java, the Java Management Extension (also known as JMX) is the de-facto standard to expose managed resources externally.

This chapter explains various resources provided by the eXo Platform server, possible management actions, and how to obtain relevant metrics.

PortalContainer manages all objects and configurations of a given portal.

AttributeDescription
ConfigurationXML Configuration information of the specified portal container in the XML format.
Name The name of the portal container.
RegisteredComponentNames The list of the registered component names.
Started Indicate the portal container is started or not.
OperationDescription
getConfigurationXML Return configuration information of the portal container calculated by the loading mechanism. The returned value is an XML document in the eXo Kernel format.
getName Return the portal container name.
getRegisteredComponentNames Return the list of all registered component names.
isStarted Check if the portal container is started or not. The portal container is only started once all its components have been started.

eXo Platform uses caches at several levels. Monitoring them can provide the critical performance information, especially useful for tuning the server. Each cache is exposed with statistics and management operations.

AttributeDescription
Name The name of the cache.
Capacity The maximum capacity of the cache.
HitCount The total number of times the cache was successfully queried.
MissCount The total number of times the cache was queried without success.
Size The number of entries in the cache.
TimeToLive The valid period of the cache entry in seconds. If the value is set to -1, the entries are never expired.
OperationDescription
clearCache() Evict all entries from the cache. This method can be used to force a programmatic flush of the cache.
getName Return the cache name.
getLiveTime Return the valid lifetime of an entry in the cache in seconds.
setLiveTime Set the valid lifetime of an entry in the cache in seconds.
getCacheHit Return the total number of successful hits.
getCacheMiss Return the total number of unsuccessful hits.
getMaxSize Return the maximum capacity of the cache.
setMaxSize Set the maximum capacity of the cache.
getCacheSize Return the number of entries in the cache.
Cache NameDescription
MOPSessionManager Cache all model objects of portal by storageId, such as pages, navigations, and preferences.
ResourceBundleData Cache all resource bundles by name and locale.
TemplateService Cache all Groovy templates of portal by its template path and ResourceResolver.
Cache NameDescription
org.exoplatform.services.jcr.impl.core. lock.LockManagerImpl

Cache lockData by the lockToken.

Cache lockData by the internal identifier of node.

Cache NameDescription
org.exoplatform.ecm.REST.viewer. PDFViewerRESTService Cache data of PDF files by the ObjectKey object.
org.exoplatform.services.cms.drives. ManageDriveService Cache all drives of Sites Explorer by the drive group name (String constant).
org.exoplatform.services.cms.scripts. impl.ScriptService Cache all Groovy script files by the script name.
org.exoplatform.services.cms.templates. TemplateService Cache all Groovy templates by the mechanism of org.exoplatform.groovyscript. text.TemplateService.
org.exoplatform.services.wcm. webcontent.InitialWebContentPlugin Cache all artifact data by sourcePath of deploymentDescriptor. These data are reused when a new portal is deployed.
wcm.composer Cache published contents by the hash generated from path, version, remoteUser, language, recursive, orderBy, orderType, primaryType of cached nodes in Content.
Cache NameDescription
ActivitiesCache Cache activities list by ListActivitiesKey.
ActivitiesCountCache Cache count of activities by activity ID, identity ID (the identity who makes request) and the type of activity.
ActivityCache Cache activity by ActivityKey (based on the activity ID).
IdentitiesCache Cache identity list by ListIdentitiesKey (based on IdentityFilterKey, offset, limit).
IdentitiesCountCache Cache identity count by IdentityFilterKey (based on the provider ID, remote ID, name, positon, company, skills, first character of the identity, and the List<IdentityKey>).
IdentityCache Cache identity by IdentityKey (based on the identity ID) .
IdentityIndexCache Cache identity index by IdentityCompositeKey (based on the provider ID and the remote ID).
ProfileCache Cache profile by IdentityKey (based on the identity ID).
RelationshipCache Cache relationship by RelationshipKey (based on the ID of the relationship).
RelationshipFromIdentityCache Cache relationship key by RelationshipIdentityKey (based on the identity ID of 2 users which have relationship).
RelationshipsCache Cache list identity wich have relation by ListRelationshipsKey.
RelationshipsCountCache Cache relationship count by RelationshipCountKey.
SpaceCache Cache space by SpaceKey (based on the space ID).
SpaceRefCache Cache ref space by SpaceRefKey (base on the display name, pretty name, group ID and the space URL).
SpacesCache Cache list space by ListSpacesKey (based on SpaceFilterKey, offset and limit).
SpacesCountCache Cache spaces count by spaceFilterKey (based on the user ID, the first character of space name, the space name search condition, and space type (MEMBER,PENDING,INVITED,PUBLIC,ACCESSIBLE, VISIBLE, EDITABLE, ALL)).

The Content application provides a management view for three following services:

WCMComposer is responsible for assembling pages, and is key for serving pages efficiently.

AttributeDescription
Cached Indicate the cache is used or not.
CachedEntries The number of nodes in the cache.
UsedLanguages The list of all languages accessible in the composer.
UsedOrderBy The list of OrderBy properties accessible in the composer.
UsedPrimaryTypes The list of primary types accessible in the composer.
OperationDescription
cleanTemplates Clean all templates in the composer.
setCached(iscached) Enable/Disable caching in the composer.
useDefaultLanguage Check if the default language is used in case the translation is not published.
getUsedPrimaryTypes Return the list of primary types accessible in the composer.
getCachedEntries Return the number of nodes in the cache.
isCached Check if the cache is used in the composer.
getUsedLanguages Return the list of all languages accessible in the composer.
getUsedOrderBy Return the list of OrderBy properties accessible in the composer.

FriendlyService is to make URIs more friendly.

AttributeDescription
Enabled Indicate the service is enabled or not.
Friendlies The list of registered Friendly URIs.
ServletName The name of the servlet referenced in the service.
OperationDescription
addFriendly(friendlyUri, unfriendlyUri) Add a new Frienly Uri to the list with two parameters: friendlyUri and unfrienlyUri. The value entered in the friendlyUri field replaces that of the unfriendlyUri field.
removeFriendly(friendlyUri) Remove a friendly URI from the list by entering that Uri into the friendlyUri field.
isEnabled Check if the service is enabled or not. If the value is returned as "True", the service is enabled. If "False", the serive is disabled.
setEnabled(isEnabled) Set the service as activated or deactivated by entering "True" or "False" respectively into the isEnabled field.
getServletName Return the name of servlet referenced in the service.
getFriendlies Return the list of registered friendly URIs.
AttributeDescription
PortletExpirationCache The expiration period of portlet cache in seconds.
OperationDescription
getPortletExpirationCache Return the expiration period of porlet cache in seconds.
setPortletExpirationCache (expirationCache) Set the expiration period of portlet cache by entering the value into the expirationCache field.

Java Content Repository (JCR) provides a management view to monitor sessions, locks, repository configurations, and workspace configurations.

AttributeDescription
TimeOut The expiration period of a JCR session.
Size The number of currently active sessions.
OperationDescription
runCleanup Clean all JCR sessions timed out.
getTimeOut Return the timeout of a JCR session.
getSize Return the number of currently active sessions.

LockManager stores lock objects and is reponsible for removing expired locks.

AttributeDescription
NumLocks The number of active locks.
OperationDesription
cleanExpiredLocks Remove all expired JCR locks.
getNumLocks Return the number of active JCR locks.
Workspace NameDescription
backup Data backed up.
collaboration Data of collaboration, such as sites content, documents, groups, records space, tags, and users.
dev-monit Data of the IDE application.
dms-system Data of DMS, including node types, templates, views, taxonomy trees.
knowledge Data of knowledge, including exo:applications, and groups.
pc-system State information of producer portlets and remote portlet registry.
portal-system Data of the Portal model objects, such as navigations, pages, portals, application registry.
portal-work Information of Gadget token and Remember me token.
social Data of Social, including activity, identity, profile, relationship and space.
system Data of system, including versions storage, node types, namespaces.
wsrp-system Data of remote portlets.
AttributeDescription
Name The name of the repository container.
RegisteredComponentNames The list of registered component names in the repository.
OperationDescription
getName Return the repository container name.
getRegisteredComponentNames Return the list of registered component names in the repository.
AttributeDescription
Name The name of the workspace container.
RegisteredComponentNames The list of registered component names in the workspace.
OperationDescription
getName Return the workspace container name.
getRegisteredComponentNames Return the list of registered component names in the workspace.

Template statistics exposes various templates used by the portal and its components to render markups. Various statistics are available for individual templates, and aggregated statistics, such as the list of the slowest templates. Most management operations are performed on a single template; those operations take the template identifier as an argument.

AttributeDescription
TemplateList The list of templates loaded.
SlowestTemplates The list of the 10 slowest templates.
MostExecutedTemplates The list of the 10 most used templates.
FastestTemplates The list of 10 fastest templates.
OperationDescription
getAverageTime(templateId) Return the average rendering time of a specified template in seconds.
getExecutionCount(templateId) Return the number of times the specified template has been executed.
getMinTime(templateId) Return the minimum rendering time of the specified template in seconds.
getMaxTime(templateId) Return the maximum rendering time of the specified template in seconds.
getSlowestTemplates Return the list of the 10 slowest templates.
getMostExecutedTemplates Return the list of the 10 most used templates.
getTemplateList Return the list of templates loaded.
getFastestTemplates Return the list of the 10 fastest templates.

Template management provides the capability to force the reload of a specified template.

OperationDescription
reloadTemplates Clear the template cache.
listCachedTemplates List identifiers of the cached templates.
reloadTemplate(templateId) Clear the template cache for a specified template identifier.
AttributeDescription
SkinList The list of loaded skins by the skin service.
OperationDescription
reloadSkin(skinId) Force a reload of the specified skin and the operation.
reloadSkins Force a reload of the loaded skins.
getSkinList Return the list of loaded skins by the skin service.
AttributeDescription
Name The name of one specific token.
ValidityTime The expiration period of one specific token in seconds.
PeriodTime The expiration daemon period of one specific token in seconds. The token is deleted after the specified period.
OperationDescription
cleanExpiredTokens Remove all expired tokens.
size Return the number of tokens, including valid tokens and expired tokens undeleted yet.
getName Return the token name.
getValidityTime Return the expiration time of one specific token in seconds.
getPeriodTime Return the expiration daemon period of one specific token in seconds.

eXo Platform provides the following TokenStore instances:

Token NameDescription
gadget-token Store tokens of the Oauth gadget into the JCR node, such as org.exoplatform.portal. gadget.core.Gadget TokenInfoService.
jcr-token Store common tokens into the JCR node, such as org.exoplatform.web.security. security.CookieTokenService, and org.exoplatform.web.security.security.Rem indPasswordTokenService.
memory-token Store temporary tokens into the transient memory, such as org.exoplatform.web. security.security.TransientTokenService.
getPortalList Return the list of identifiers of all loaded portals.
AttributeDescription
PortalList The list of identifiers of loaded portals.
OperationDescription
getThroughput(portalId) Return the number of requests for the specified portal per second.
getAverageTime(portalId) Return the average execution time of the specified portal in seconds.
getExecutionCount(portalId) Return the number of times the specified portal has been executed.
getMinTime(portalId) Return the minimum time of the specified portal in seconds.
getMaxTime(portalId) Return the maximum time of the specified portal in seconds.
getPortalList Return the list of identifiers of loaded portals.

Various applications are exposed to provide relevant statistics.

AttributeDescription
ApplicationList The list of loaded applications.
SlowestApplications The list of the 10 slowest applications.
MostExecutedApplications The list of the 10 most executed applications.
FastestApplications The list of the 10 fastest applications.
OperationDescription
getAverageTime(applicationId) Return the average time spent of the specified application.
getExecutionCount(applicationId) Return the number of times the specified application has been executed.
getMinTime(applicationId) Return the minimum time spent of the specified application.
getMaxTime(applicationId) Return the maximum time spent of the specified application.
getSlowestApplications Return the list of the 10 slowest applications.
getMostExecutedApplications Return the list of the 10 most executed applications.
getFastestApplications Return the list of the 10 fastest applications.
getApplicationList Return the list of application identifiers classified in the alphabetic order.

The Knowledge application provides a management view, enabling you to control rules, statistics, information of data storage in Forum and Answers.

With the Forum Service management view, you can view ADMIN rules, statistics, such as the number of online users, and information of Mail Service configuration.

AttributeDescription
AdminRules The list of rules defining administrators.
ContactProvider The string containing the specific ContactProvider implementation name which provides user profile to the forum, including: org.exoplatform.ks.com mon.user.BusinessProfileContactProvider, org.exoplatform.ks.common.user.DefaultCo ntactProvider,org.exoplatform.ks.common. user.PersonalProfileContactProvider.
MailServiceConfig The string containing the configuration of the Mail service used for the notifications in Knowledge.
OnlineUsers The list of currently online users.
OperationDescription
countOnlineUsers Return the number of currently online users.
hasForumAdminRole(String username) Check if the user is the forum administrator or not.
getAdminRules Return the list of rules defining administrators.
getOnlineUsers Return the list of online users.
getContactProvider Return the name of a specific ContactProvider implementation.
setContactProvider(String contactProviderClassName Set a specific ContactProvider implementation. The user profile on portal is obtained to populate into that of Forum.
getMailServiceConfig Return the Mail service configuration used to send notifications in Knowledge.

The Job management view enables you to view state information of Jobs used in Knowledge.

AttributeDescription
DataMap The map containing the state information for Job instances.
Name The name of the Job.
OperationDescription
getName Return the names of Job instances.
getDataMap Return the state information of Job instances.

Knowledge provides the following Job instances:

JobDescription
DeactiveJob Deactivate topics which meet TWO predefined deactivation properties: inactiveDays and forumName in Forum.
LoginJob Update information of users logged in, serving for statistics.
NotifyJob Send email notifications in Answers.
RecountActiveUserJob Indicate the number of active users in Forum.
SendMailJob Send email notifications in Forum.
UpdateDataJob Update Forum statistics, such as posts or topics of users.
AttributeDescription
AllRules The list of all rules of RoleRulesPlugin. For example, the rule defining 'root' user as an administrator follows the form of ADMIN=root.
Description The brief description of RoleRulesPlugin functions.
Name The name of RoleRulesPlugin.
RuleNames The list of possible rule names; for example, the rule defining administrators is named ADMIN.
OperationDescription
addRule Add a rule. For example, to add the ADMIN rule for the 'demo' user, you need to input two parameters: ADMIN in the p1 and demo in the p2.
getRules Return the list of rules defining the user with the role inputed in p1.
getName Return the name of the plugin.
getRuleNames Return the list of possible rule names. For example, if 'demo' and 'mary' are defined as ADMIN (ADMIN=demo, mary), the list of returned rule names will be ADMIN.
getDescription Return the brief description of the plugin.
getAllRules Return all rules added to the plugin.
AttributeDescription
BBCodes The list of BBCodes defined in the plugin.
OperationDescription
getBBCodes Return the list of BBCodes. The Forum application currently provides the following BBCodes: [URL], [JUSTIFY], [B], [HIGHLIGHT], [I], [U], [RIGHT], [EMAIL], [LIST], [COLOR], [CENTER], [CODE], [QUOTE], [CSS], [LEFT], [FONT], [GOTO], [SIZE], [SLIDESHARE], [IMG], [WIKI].
AttributeDescription
Location The location where the Forum export file is stored.
OperationDescription
getLocation Return the location where the Forum export file is stored, for example war:/data/forum/data-full-forum.zip.
AttributeDescription
Location The location where the FAQ export file is stored.
OperationDescription
getLocation Return the location where the FAQ export file is stored, for example war:/data/Technical-FAQ.zip.
isForceXML Indicate if the data loaded from the FAQ export file should override any data found in the existing database.

The Storage management view enables you to get storage information in Knowledge, such as data path, repository and workspace.

AttributeDescription
Path The JCR data path of the Forum Storage.
Repository The name of repository containing the workspace where Forum data are stored.
Workspace The name of workspace containing Forum data.
OperationDescription
getRepository Return the name of repository of the Forum Storage.
getWorkspace Return the name of workspace of the Forum Storage.
getPath Return the JCR data path of the Forum Storage.

The Collaboration application provides a management view, enabling you to view some state information of Jobs used in itself.

AttributeDescription
DataMap The map containing the state information for the Job instances.
Name The name of the Job.
OperationDescription
getName Return the name of Job instances.
getDataMap Return the state information of Job instances.

The Collaboration application provides the following Job instances:

Job NameDescription
PopupReminderJob Show pop-up reminders in the Calendar application.
ReminderJob Send email reminders in the Calendar application.
messageToHistoricalMessageJob Save messages in the Chat application in the data storage of Collaboration.
Copyright © 2009-2012. All rights reserved. eXo Platform SAS