Transaction service custom properties

WebSphere® Application Server allows you to configure a number of custom properties for transaction services.

Note: This topic references one or more of the application server log files. As a recommended alternative, you can configure the server to use the High Performance Extensible Logging (HPEL) log and trace infrastructure instead of using SystemOut.log , SystemErr.log, trace.log, and activity.log files on distributed and IBM® i systems. You can also use HPEL in conjunction with your native z/OS® logging facilities. If you are using HPEL, you can access all of your log and trace information using the LogViewer command-line tool from your server profile bin directory. See the information about using HPEL to troubleshoot applications for more information on using HPEL.

Transaction service custom properties can be specified in the administrative console. To use any of these custom properties click on Servers > Server Types > WebSphere application servers > server_name > [Container Settings] Container Services > Transaction Service > [Additional Properties] Custom Properties.

You can define the following transaction service custom properties:

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.

Table 1. DELAY_CANCELLING_ALARMS custom property . The table includes the data type, acceptable values, and default for the property.
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.

[AIX Solaris HP-UX Linux Windows][IBM i]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.

Table 2. DISABLE_RECOVERY_AUDIT_LOGGING custom property . The table includes the data type, acceptable values, and default for the property.
Information Value
Data type Boolean
Acceptable values TRUE, FALSE
Default

[AIX Solaris HP-UX Linux Windows][IBM i]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.

Table 3. ENABLE_XARESOURCE_TIMEOUT custom property . The table includes the data type, acceptable values, and default for the property.
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.
Table 4. REMOVE_PARTNER_LOG_ENTRY custom property . The table includes the data type, acceptable values, and default for the property.
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.

Avoid trouble: All currently supported DB2 drivers have an auto-recover feature which makes it unnecessary to issue an xa_recover calls prior to issuing an xa_commit or xa_rollback call. If, after reading the documentation for your DB2 driver, you are not sure whether your DB2 driver includes the auto-recover feature, contact IBM DB2 support for final clarification on whether setting this property is safe to use for servers hosting applications that access DB2.
Table 5. ZOS_RECOVER_BEFORE_COMMIT custom property . The table includes the data type, acceptable values, and default for the property.
Information Value
Data type Boolean
Acceptable values TRUE, FALSE
Default TRUE