Package org.apache.torque.util
Class TransactionManagerImpl
- java.lang.Object
-
- org.apache.torque.util.TransactionManagerImpl
-
- All Implemented Interfaces:
TransactionManager
public class TransactionManagerImpl extends Object implements TransactionManager
Standard connection and transaction management for Torque. Uses JDBC connection operations and Torque's own database pools for managing connections and transactions.- Version:
- $Id: TransactionManagerImpl.java 1880635 2020-08-06 11:28:14Z gk $
- Author:
- Stephen Haberman
-
-
Constructor Summary
Constructors Constructor Description TransactionManagerImpl()
-
Method Summary
All Methods Instance Methods Concrete 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
public 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.- Specified by:
begin
in interfaceTransactionManager
- Returns:
- The Connection for the transaction.
- Throws:
TorqueException
- Any exceptions caught during processing will be rethrown wrapped into a TorqueException.
-
begin
public 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.- Specified by:
begin
in interfaceTransactionManager
- Parameters:
dbName
- Name of database.- Returns:
- The Connection for the transaction.
- Throws:
TorqueException
- If the connection cannot be retrieved.
-
commit
public 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- Specified by:
commit
in interfaceTransactionManager
- Parameters:
con
- The Connection for the transaction.- Throws:
TorqueException
- Any exceptions caught during processing will be rethrown wrapped into a TorqueException.
-
rollback
public 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.- Specified by:
rollback
in interfaceTransactionManager
- Parameters:
con
- The Connection for the transaction.- Throws:
TorqueException
- Any exceptions caught during processing will be rethrown wrapped into a TorqueException.
-
safeRollback
public 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.- Specified by:
safeRollback
in interfaceTransactionManager
- Parameters:
con
- The Connection for the transaction.- See Also:
rollback(Connection)
-
-