Configuring transaction timeouts

In the 100Custom.xml files for Process Server and Process Center, you can add or modify configuration settings that are used to specify transaction timeouts.

About this task

The default-transaction-timeout and default-long-transaction-timeout configuration settings are commonly used in IBM® BPM to specify transaction timeouts. These settings are described in the following list:

default-transaction-timeout
Specifies a transaction timeout in seconds. This is the transaction timeout that is used by most IBM BPM operations. The default value is 480 seconds (8 minutes).
default-long-transaction-timeout
Specifies a long transaction timeout in seconds. This is the timeout setting that is used by IBM BPM operations that are expected to take several minutes or more to complete in normal operating conditions (depending on the size of the application or the volume of the data). Many repository operations use this timeout setting. You should always use a very large timeout value to avoid timeouts during resource-intensive operations like instance migration, deployment, or deleting snapshots. The default value is 14400 seconds (4 hours).

These two settings are not used for SCA transactions or BPEL transactions.

Although you should be aware of these two IBM BPM settings, their default values are generally sufficient and you rarely (if ever) need to modify their values. However, you need to ensure that the values of the corresponding WebSphere® Application Server settings are appropriate given the values of the two IBM BPM settings. The corresponding WebSphere Application Server settings are described in the following list:

total transaction lifetime timeout
Specifies the default maximum time, in seconds, that is allowed for a transaction that is started on the server before the transaction service initiates timeout completion. The setting is used by operations that are not governed by the two IBM BPM timeout settings, such as SCA transactions, BPEL transactions, and WebSphere Application Server transactions. The setting has a default value of 120 seconds (2 minutes).
maximum transaction timeout
Specifies the maximum time to complete, in seconds, for transactions that run on the server. To help prevent transactions from ending prematurely, the value of this setting should always be greater than or equal to the value of the total transaction lifetime timeout setting and greater than or equal to the value of the IBM BPM default-long-transaction-timeout setting. Although the maximum transaction timeout setting has an initial default value of 300 seconds (5 minutes), the default value is automatically changed to 14400 seconds (4 hours) when WebSphere Application Server is used in an IBM BPM environment. Thus, it is equal to the value of the IBM BPM default-long-transaction-timeout setting.

Generally, the default values are sufficient for these WebSphere Application Server settings and you should not modify their values. Detailed information about these settings is found in the WebSphere Application Server topic Configuring transaction properties for an application server.

If you find that you need to change the values of the two IBM BPM default-transaction-timeout and default-long-transaction-timeout settings, you can override the values by adding or updating the settings in your 100Custom.xml files. For example, to add the settings to a 100Custom.xml file, you would add the following elements under the <properties> element and modify the default values as needed:
<server merge="mergeChildren">
   <default-transaction-timeout>480</default-transaction-timeout>
   <default-long-transaction-timeout>14400</default-long-transaction-timeout>
</server>

For information about the individual 100Custom.xml files that need to be updated and their locations, see the topic Location of configuration files.

However, to consistently and reliably change the value of the settings in all of the 100Custom.xml files in your IBM BPM deployment environment, it is recommended that you use the updateBPMConfig command as described in the following procedure:

Procedure

  1. Stop the servers for Process Server and Process Center.
  2. Start the scripting client in disconnected mode as described in the topic updateBPMConfig command.
  3. Run the following commands to simultaneously update all affected servers (but first modify the default values as needed):
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server/default-transaction-timeout', '-xNodeValue', '480' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server/default-long-transaction-timeout', '-xNodeValue', '14400' ] )
    wsadmin> AdminConfig.save()
  4. Restart the servers.

Results

The recommended way of updating the 100Custom.xml files is by running the updateBPMConfig command. However, if the updates are unsuccessful, you can manually update the files by following the steps in the topic Setting configuration properties using 100Custom.xml.