Package org.apache.torque.util

## Interface TransactionManager

- All Known Implementing Classes:
    `TransactionManagerImpl`

      public interface TransactionManager

  Torque's interface to the transaction management system.
  Version:
    $Id: TransactionManager.java 1839284 2018-08-27 08:57:56Z tv $

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TorqueConnection` | `begin()` | Begin a transaction by retrieving a connection from the default database connection pool.
    `TorqueConnection` | `begin​(String dbName)` | Begin a transaction by retrieving a connection from the named database connection pool.
    `void` | `commit​(Connection con)` | Commit a transaction and close the connection.
    `void` | `rollback​(Connection con)` | Roll back a transaction and release the connection.
    `void` | `safeRollback​(Connection con)` | Roll back a transaction without throwing errors if they occur.

- - ### Method Detail

    - #### begin

          TorqueConnection begin()
                          throws TorqueException

      Begin a transaction by retrieving a connection from the default database connection pool. WARNING: If the database does not support transaction or the pool has set autocommit to true on the connection, the database will commit after every statement, regardless of when a commit or rollback is issued.
      Returns:
        The Connection for the transaction.
      Throws:
        `TorqueException` - Any exceptions caught during processing will be rethrown wrapped into a TorqueException.

    - #### begin

          TorqueConnection begin​(String dbName)
                          throws TorqueException

      Begin a transaction by retrieving a connection from the named database connection pool. WARNING: If the database does not support transaction or the pool has set autocommit to true on the connection, the database will commit after every statement, regardless of when a commit or rollback is issued.
      Parameters:
        `dbName` - Name of database.
      Returns:
        The Connection for the transaction.
      Throws:
        `TorqueException` - If the connection cannot be retrieved.

    - #### commit

          void commit​(Connection con)
               throws TorqueException

      Commit a transaction and close the connection. If the connection is in autocommit mode or the database does not support transactions, only a connection close is performed
      Parameters:
        `con` - The Connection for the transaction.
      Throws:
        `TorqueException` - Any exceptions caught during processing will be rethrown wrapped into a TorqueException.

    - #### rollback

          void rollback​(Connection con)
                 throws TorqueException

      Roll back a transaction and release the connection. In databases that do not support transactions or if autocommit is true, no rollback will be performed, but the connection will be closed anyway.
      Parameters:
        `con` - The Connection for the transaction.
      Throws:
        `TorqueException` - Any exceptions caught during processing will be rethrown wrapped into a TorqueException.

    - #### safeRollback

          void safeRollback​(Connection con)

      Roll back a transaction without throwing errors if they occur. A null Connection argument is logged at the debug level and other errors are logged at warn level.
      Parameters:
        `con` - The Connection for the transaction.
      See Also:
        `TransactionManagerImpl.rollback(Connection)`