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

Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.