Broker 10.5 | webMethods Broker Documentation | Administering webMethods Broker | Managing Brokers | Managing Transactions | About Configuring the Transaction Timeout Options
 
About Configuring the Transaction Timeout Options
For transaction processing, you can configure the Broker to monitor the length of time between stages of a transaction and to take a prescribed action if a transaction exceeds a specified period of time.
When a transaction exceeds the specified time limit (that is, when it expires), the Broker automatically performs a commit or roll back for the transaction. Whether the Broker performs a commit or roll back depends on how you have configured the transaction timeout options.
Transactions that expire and are completed by the Broker are considered to be heuristically completed, meaning that the decision to perform a commit or roll back did not come from the client. As required by the XA Specification, the Broker maintains a record of heuristically completed transactions in a log.
The Broker allows you to specify separate timeout limits for two stages of a transaction:
*The pre-prepare stage. The pre-prepare stage refers to the time interval between the point at which a transaction begins and the point at which it performs a prepare operation (for two-phase commit) or a commit or roll back operation (for single-phase transaction). If a transactional client does not issue a prepare, a commit, or a roll back request within the specified timeout period, the Broker automatically performs a roll-back operation and then terminates the transaction.
The pre-prepare timeout parameter applies to both two-phase (XA) transactional clients and single-phase (local) transactional clients. For two-phase transactions, the pre-prepare timeout represents the time limit imposed for the period between the start of the transaction and the receipt of the prepare request. For single-phase transactions, the timeout setting represents the time limit for the period between the start of the transaction and the receipt of a commit or roll back request.
You can specify an infinite pre-prepare period (that is, impose no timeout limit) by setting the pre-prepare timeout parameter to -1.
*The post-prepare stage. In the case of a transaction that uses a two-phase commit, the post-prepare stage refers to the period from the receipt of the prepare request until the initiation of the commit or roll back request. In the case of a single-phase commit, this timeout does not apply. If a transaction exceeds the specified timeout period, the Broker executes a commit or roll-back operation on behalf of the client and terminates the transaction. Whether the Broker executes a commit or a roll back depends on the way in which you configure the Broker's post-prepare timeout action parameter. The default is to commit the transaction.
The post-prepare timeout parameter does not apply to single-phase transactions.
You may specify an infinite post-prepare period (that is, impose no timeout limit) by setting the post-prepare timeout parameter to -1.