Traditional:
When the user is
mismatched between the user information cache and the database, the user information cache holds
references to users that are not in the database. If the user information in the cache is used for
further database operations, a database transaction that follows the mismatch might fail with a
constraint violation exception. To prevent this mismatch, you can add the
user-info-cache-block-period configuration setting to the
100Custom.xml files. Using this setting, you can specify a period of time
during which the cache entry is considered invalid and is not used (if it has not been confirmed by
at least one successful read from the database).
About this task
When you access information for a user, Business Automation Workflow loads
the information into a user information cache. When the user is not
yet available in the Business Automation Workflow database,
the user information is nonetheless initialized in the database. If
a transaction fails that covers both the cache and database initialization,
the database entry is rolled back, but the cache entry is not. As
a result, the user is mismatched between the cache and the database. The
problem of user information mismatch between the cache and the database
only occurs in a few environments. As a result, the specified period
of time is set to the default value of 0 milliseconds,
which means that cache entries are always considered valid. You should
only change this value if you experience exceptions, such as a SqlIntegrityConstraintViolationException exception
in the SystemOut.log file that begins with the
following lines:
com.lombardisoftware.client.delegate.BusinessDelegateException:
PreparedStatementCallback;
SQL [insert into LSW_USR_GRP_MEM_XREF (USER_ID, GROUP_ID) values (?, ?)];
Procedure
To add the configuration setting to the 100Custom.xml file,
complete the following steps:
- Stop the server for IBM® Workflow
Server or Workflow Center.
- Open each 100Custom.xml file. For
information about the individual 100Custom.xml files
that need to be updated and their locations, see the topic Location of 100Custom configuration files.
- In each 100Custom.xml file, add the user-info-cache-block-period setting.
For example, to prevent administrators from accessing task instance
data, add the following elements under the
<properties> element:
<server>
<user-info-cache-block-period merge="replace">120000
</user-info-cache-block-period>
</server>
The period of time is specified in millisecond
(ms). If you do not want to use the default value of
0,
the recommended time period is
120000 (2 minutes).
If the setting is not set, the period of time defaults to
0.
If a value of
0 is specified, the cache entries
are always considered valid.
- In each 100Custom.xml file, save your
changes.
- In a browser, open each 100Custom.xml file
to ensure that it contains no special characters.
- Complete one of the following steps:
- In a clustered environment, ensure that the changes are propagated
to the nodes by forcing a synchronization and restarting the deployment
environment.
- In a stand-alone server environment, restart the server.