Transaction service custom properties
WebSphere® Application Server allows you to configure a number of custom properties for transaction services.
Transaction service custom properties can be specified in the administrative console. To use any of these custom properties click on
.DELAY_CANCELLING_ALARMS
If the before completion stage of a transaction process is likely to include processes that could either take a long time to complete or could fail, then you might want the transaction to time out.
By default, transaction timeout alarms are cancelled prior to the before completion phase of the transaction begins. The DELAY_CANCELLING_ALARMS custom property allows the before completion phase of the transaction to be encompassed within the transaction timeout period. To do this, set the custom property on the application server.
Information | Value |
---|---|
Data type | Boolean |
Acceptable values | TRUE, FALSE |
Default | FALSE |
DISABLE_RECOVERY_AUDIT_LOGGING
You can control whether information messages are displayed on the administrative console and written to the SystemOut.log file upon transaction service recovery. To do this, set the DISABLE_RECOVERY_AUDIT_LOGGING custom property for the transaction service for the server.
On distributed platforms the default is for information messages to appear both on the administrative console and in the SystemOut.log file during the recovery of transaction services. If you do not want these messages to be displayed you can use the DISABLE_RECOVERY_AUDIT_LOGGING custom property.
Information | Value |
---|---|
Data type | Boolean |
Acceptable values | TRUE, FALSE |
Default |
FALSE |
ENABLE_XARESOURCE_TIMEOUT
If you set this value to true, the transaction service provides a timeout value to XA resources when they are enlisted in global transactions. The timeout that is provided is the remaining number of seconds before the transaction is set to timeout and is the maximum transaction timeout. For more information on maximum transaction timeout, see udat_contranserv.html.
Information | Value |
---|---|
Data type | Boolean |
Acceptable values | TRUE, FALSE |
Default | FALSE |
REMOVE_PARTNER_LOG_ENTRY
You can remove entries from the transaction partner log file. To do this, set the REMOVE_PARTNER_LOG_ENTRY custom property for the transaction service on the server that owns the partner log.
As part of the transaction recovery process, the partner log is checked to establish which resources are needed. If you want to remove certain entries from the partner log, such as a resource that no longer exists, set this custom property on the application server that owns the transaction partner log containing the entries you want to remove.
The REMOVE_PARTNER_LOG_ENTRY custom property is effective only when both of the following situations apply.
- The application server is started in recovery mode.
- The application server has no transactions that currently require recovery. You can establish this by checking the SystemOut.log file.
Information | Value |
---|---|
Data type | Integer |
Acceptable values | (one or more comma-delimited integer recovery ID) |
Default | (null) |
ZOS_RECOVER_BEFORE_COMMIT
Specifying this property prevents a deadlock from occurring after an xa_recover call is issued against an MQ Server resource at recovery time. The MQ Server uses JCA 1.5 transaction in-flow interfaces as part of its normal operation. These interfaces enable MQ Server Bus member to coordinate WMQ and Service Integration Bus resources using WebSphere Application Server transactions. During the commit of any transaction at recovery time, xa_recover is called to ensure some older DB2 drivers do no return XAER_NOTA even if the transaction exists when the xa_commit or xa_rollback call is issued.
This deadlock occurs because the MQ Server resource issues calls back to the controller and attempts to lock all known transactions so that the MQ Server resource can generate a list of transactions that need to respond to the xa_recover call. However, because the IN-COMMIT transaction being committed is already locked, the xa_recover call waits indefinitely to lock the IN-COMMIT transaction because that transaction will not be unlocked until the transaction commits.
Setting this property to FALSE ensures that during the processing of transactions at recovery time, the xa_recover call is not issued before an xa_commit or xa_rollback call.
Information | Value |
---|---|
Data type | Boolean |
Acceptable values | TRUE, FALSE |
Default | TRUE |