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

  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 Details

  - ### 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)`