Sun GlassFish Enterprise Server 2.1 Administration Guide

About Transactions

What is a Transaction?

A transaction is a series of discreet actions in an application that must all complete successfully or else all the changes in each action are backed out. For example, to transfer funds from a checking account to a savings account is a transaction with the following steps:

  1. Check to see if the checking account has enough money to cover the transfer.

  2. If there’s enough money in the checking account debit the amount from the checking account.

  3. Credit the money to the savings account.

  4. Record the transfer to the checking account log.

  5. Record the transfer to the savings account log.

If any of these steps fails, all changes from the preceding steps must be backed out, and the checking account and savings account must be in the same state as they were before the transaction started. This event is called a rollback. If all the steps complete successfully, the transaction is in a committed state. Transactions end in either a commit or a rollback.

See Also:

Transactions in Java EE Technology

Transaction processing involves the following five participants:

Each of these entities contribute to reliable transaction processing by implementing the different APIs and functionalities, discussed below:

See Also:

Workarounds for Specific Databases

The Enterprise Server provides workarounds for some known issues with the recovery implementations of the following JDBC drivers. These workarounds are used unless explicitly disabled.

Note –

These workarounds do not imply support for any particular JDBC driver.