This section explains how to configure the following transaction attributes:
Transactions might be incomplete either because the server crashed or a resource manager crashed. It is essential to complete these stranded transactions and recover from the failures. Sun Java System Application Server Platform Edition 8 is designed to recover from these failures and complete the transactions upon server startup.
While performing the recovery, if some of the resources are unreachable the server restart may be delayed as it tries to recover the transactions.
When the transaction spans across servers, the server that started the transaction may contact the other servers to get the outcome of the transactions. If the other servers are unreachable, it will use the Heuristic Decision field to determine the outcome.
To configure how the Application Server recovers from transactions:
server
, select the server-config
node.default-config
node.Unless you have a good reason to set this field to Commit, leave Heuristic Decision set to Rollback. Committing indeterminate transactions can compromise the data integrity of your application.
[Reviewers: under what circumstances would an admin set this to Commit?]
By default, the server will not timeout a transaction. That is, the server will wait indefinitely for a transaction to complete. If you set a timeout value for transactions, if a transaction isn’t completed within the configured time, the Application Server will rollback the transaction.
To set a timeout value:
server
, select the server-config
node.default-config
node.The default value of Transaction Timeout is 0 seconds, which disables transaction timeouts.
The transaction log records the information about each transaction in order to maintain the data integrity of the resources involved and to recover from failures. Transaction logs are kept in the tx
subdirectory of the directory specified by the Transaction Log Location field. These logs are not meant to be human readable.
To set the location of the transaction logs:
server
, select the server-config
node.default-config
node.
A tx
subdirectory will be created and transaction logs will be kept under that directory.
The default value is ${com.sun.aas.instanceRoot}/logs
. The ${com.sun.aas.instanceRoot}
variable is the name of the instance, and is set when you start an Application Server instance. To see the value of ${com.sun.aas.instanceRoot}
, click Actual Values.
Keypoint operations compress the transaction log file. The keypoint interval is the number of transactions between keypoint operations on the log. Keypoint operations can reduce the size of the transaction log files. A larger number of keypoint intervals (for example, 2048) will result in larger transaction log files, but fewer keypoint operations, and potentially better performance. A smaller keypoint interval (for example, 256) results in smaller log files but slightly reduced performance due to the greater frequency of keypoint operations.
To set the keypoint interval:
server
, select the server-config
node.default-config
node.The default value is 2048.
See Also: