Configure transaction properties for an appserver

 

+

Search Tips   |   Advanced Search

 

Overview

Use this task to...

To move to your logs to a different storage device, or to change parameters...

 

Procedure

  1. Start the console.

  2. In the navigation pane, select...

    Servers | Application Servers | server | Container Settings | Container Services | Transaction Service

    Configuration

    The values of properties defined in the configuration file. If you change these properties, the new values are applied when the appserver next starts.

    Runtime

    The runtime values of properties. If you change these properties, the new values are applied immediately, but are overwritten with the Configuration values when the appserver next starts.

  3. To review transaction-related configuration properties, ensure that the Configuration page is displayed.

     

  4. Optional: To change the directory in which transaction logs are written, type the full pathname of the directory in the Transaction log directory field. You can check the current runtime value of Transaction log directory, by clicking the Runtime tab.

    If you leave this field unset, the appserver assumes a default location within the appropriate profile directory.

    When using WAS without high availability support, you can leave the recovery log configuration for persistent services (such as the transactions service) unset. The appserver assumes a default location within the appropriate profile directory. When high availability support is enabled, this default may not be visible from all servers in the cluster (for example, if they are in different profiles or physical nodes.) Because of this behavior, configure the recovery log location for each server in the cluster before enabling high availability. You must also ensure that each server in the cluster has a unique log directory, to avoid attempts by multiple servers to access the same log file.

    You can also specify a size for the transaction logs, as described in the following step.

    If you change the transaction log directory, you should apply the change and restart the appserver as soon as possible, to minimize the risk of problems occurring before the appserver is restarted. For example, if a problem causes the server to fail (with in-flight transactions), the server next starts with the new log directory and is unable to automatically resolve in-flight transactions that were recorded in the old log directory.

     

  5. Optional: To change the default file size of transaction log files, modify the Transaction log directory field to include a file size setting, in the following format:

    directory_name;file_size
    
    Where

    • directory_name is the name of the transaction log directory

    • file_size is the new default size specified in bytes. The nK or nM suffix can be used to indicate kilobytes or megabytes. If you do not specify a file size value, the default value of 1M is used.

    For example (Windows systems), c:\tranlogs;2M indicates the files are to be created with 2M bytes size and stored in the directory c:\tranlogs.

    In a non-production environment, you can use the transaction log directory value of ;0 to disable transaction logging. (There must be no directory name element before the size element of 0.) You should not disable transaction logging in a production environment because this prevents recovery after a system failure, and therefore data integrity cannot be guaranteed.

     

  6. Optional: Review or change the value of transaction timeout properties:

    Total transaction lifetime timeout

    Type the number of seconds to allow for a transaction that is started on this server, before the transaction service initiates timeout completion. If a transaction does not begin completion processing before this timeout occurs, it is rolled back. A value of 0 (zero) indicates that this timeout does not apply, and therefore the maximum transaction timeout is used instead. Application components can override the total transaction lifetime timeout for their transactions by setting their own timeout value.

    Maximum transaction timeout

    Type the number of seconds a transaction that is propagated into this appserver can remain inactive before it is ended by the transaction service. This value also applies to transactions that are started in this server, if their associated applications do not set a transaction timeout and the total transaction lifetime timeout is set to 0.

    This value should be equal to or greater than the total transaction lifetime timeout. A value of 0 (zero) indicates that this timeout does not apply. In this case, transactions that are affected by this timeout never time out.

    Client inactivity timeout

    Type the number of seconds after which a client is considered inactive and the transaction service ends any transactions associated with that client. A value of 0 (zero) indicates that there is no timeout limit.

     

  7. Optional: Review or change heuristic-related properties:

    Heuristic retry limit

    The number of times that the appserver retries a completion signal, such as commit or rollback. Retries occur after a transient exception from a resource manager or remote partner, or if the configured asynchronous response timeout expires before all Web Services Atomic Transaction (WS-AT) partners have responded.

    Heuristic retry wait

    The number of seconds that the appserver waits before retrying a completion signal, such as commit or rollback, after a transient exception from a resource manager or remote partner.

    Enable logging for heuristic reporting

    Select this property to enable the appserver to log "about to commit one-phase resource" events from transactions that involve a one-phase commit resource and two-phase commit resources.

    Heuristic completion direction

    Select the direction used to complete a transaction that has a heuristic outcome; either the appserver commits or rolls back the transaction, or depends on manual completion by the administrator.

  8. Review or change other configuration properties, to suit your requirements. For more information about the properties of the transaction service, see Transaction service settings.

  9. Click OK and save.

  10. Stop then restart the appserver.

    If you change the transaction log directory configuration property to an incorrect directory name, the appserver will restart but be unable to open the transaction logs. You should change the configuration property to a valid directory name, then restart the appserver.

    If you are running the appserver as non-root, modify the permissions on the new transaction log location. To use peer recovery of transactions on a shared device with non-root users, make sure that your non-root users and groups have matching identification numbers across machines



Transaction service settings

 

Related tasks


Using transactions with WebSphere applications