Interface TransactionStatus<T>
-
- Type Parameters:
T
- The native transaction type
- All Superinterfaces:
java.io.Flushable
,SavepointManager
,TransactionExecution
- All Known Implementing Classes:
AbstractTransactionStatus
,DefaultTransactionStatus
public interface TransactionStatus<T> extends TransactionExecution, SavepointManager, java.io.Flushable
NOTICE: This is a fork of Spring'sTransactionStatus
modernizing it to use enums, Slf4j and decoupling from Spring. Representation of the status of a transaction.Transactional code can use this to retrieve status information, and to programmatically request a rollback (instead of throwing an exception that causes an implicit rollback).
Includes the
SavepointManager
interface to provide access to savepoint management facilities. Note that savepoint management is only available if supported by the underlying transaction manager.- Since:
- 27.03.2003
- Author:
- Juergen Hoeller
- See Also:
TransactionExecution.setRollbackOnly()
,SynchronousTransactionManager.getTransaction(io.micronaut.transaction.TransactionDefinition)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
flush()
Flush the underlying session to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.T
getConnection()
java.lang.Object
getTransaction()
boolean
hasSavepoint()
Return whether this transaction internally carries a savepoint, that is, has been created as nested transaction based on a savepoint.-
Methods inherited from interface io.micronaut.transaction.SavepointManager
createSavepoint, releaseSavepoint, rollbackToSavepoint
-
Methods inherited from interface io.micronaut.transaction.TransactionExecution
isCompleted, isNewTransaction, isRollbackOnly, setRollbackOnly
-
-
-
-
Method Detail
-
hasSavepoint
boolean hasSavepoint()
Return whether this transaction internally carries a savepoint, that is, has been created as nested transaction based on a savepoint.This method is mainly here for diagnostic purposes, alongside
TransactionExecution.isNewTransaction()
. For programmatic handling of custom savepoints, use the operations provided bySavepointManager
.- Returns:
- Whether a save point is present
- See Also:
TransactionExecution.isNewTransaction()
,SavepointManager.createSavepoint()
,SavepointManager.rollbackToSavepoint(Object)
,SavepointManager.releaseSavepoint(Object)
-
flush
void flush()
Flush the underlying session to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.This is effectively just a hint and may be a no-op if the underlying transaction manager does not have a flush concept. A flush signal may get applied to the primary resource or to transaction synchronizations, depending on the underlying resource.
- Specified by:
flush
in interfacejava.io.Flushable
-
getTransaction
@NonNull java.lang.Object getTransaction()
- Returns:
- The underlying transaction object.
-
getConnection
@NonNull T getConnection()
- Returns:
- The associated connection.
-
-