The default cache mode for all scenario item descriptors is simple
. This setting is ideal for a single ATG server environment, but if your installation is running more than one ATG server, you must set the SQL repository cache mode to locked
for the following item descriptors:
individualScenario
collectiveScenario
scenarioInfo
scenarioTemplateInfo
scenarioMigrationInfo
individualScenarioTransition
collectiveScenarioTransition
The cache mode is set to locked automatically in the Scenario module’s liveconfig
configuration layer, so if you are deploying to a live site, you can simply add the liveconfig
configuration layer to the environment for all your ATG servers to guarantee that the cache mode will be set correctly for these item descriptors. See the Configuring for Production chapter in the ATG Installation and Configuration Guide for information about the liveconfig
configuration layer.
However, if you are working in a non-production, multiple-server environment that does not include the liveconfig
configuration, you must set the cache mode manually as described below. If you do not set the cache mode to locked for these item descriptors, several scenario servers could attempt to process the same event, and serious errors will occur.
To complete this step manually, make the following changes to /atg/userprofiling/userProfile.xml
:
--- localconfig/atg/userprofiling/userProfile.xml
:
<gsa-template>
<item-descriptor name="individualScenario" cache-mode="locked"/>
<item-descriptor name="collectiveScenario" cache-mode="locked"/>
<item-descriptor name="scenarioInfo" cache-mode="locked"/>
<item-descriptor name="scenarioTemplateInfo" cache-mode="locked"/>
<item-descriptor name="scenarioMigrationInfo" cache-mode="locked"/>
<item-descriptor name="individualScenarioTransition"
cache-mode="locked"/>
<item-descriptor name="collectiveScenarioTransition"
cache-mode="locked"/>
</gsa-template>
In addition, in order for locked mode caching to work in a multiple server environment, you must configure the following Lock Manager components, as described in the Enabling the Repository Cache Lock Managers section of the ATG Installation and Configuration Guide.
/atg/dynamo/service/ServerLockManager
/atg/dynamo/service/ClientLockManager
Be sure to set the useLockServer
property of each ClientLockManager
to true
. (This property is set to true
automatically in the liveconfig
layer, but if your environment does not include liveconfig
, you must set the property manually.)
In addition, verify that the lockManager
property in the atg/userprofiling/ProfileAdapterRepository
component is set as follows:
lockManager=atg/dynamo/service/ClientLockManager