public class DefaultTransactionStatus extends AbstractTransactionStatus
TransactionStatus
interface, used by AbstractPlatformTransactionManager. Based on the concept
of an underlying "transaction object".
Holds all status information that AbstractPlatformTransactionManager
needs internally, including a generic transaction object determined by the
concrete transaction manager implementation.
Supports delegating savepoint-related methods to a transaction object
that implements the SavepointManager interface.
NOTE: This is not intended for use with other PlatformTransactionManager
implementations, in particular not for mock transaction managers in testing environments.
Use the alternative SimpleTransactionStatus class or a mock for the plain
TransactionStatus interface instead.
AbstractPlatformTransactionManager,
SavepointManager,
getTransaction(),
AbstractTransactionStatus.createSavepoint(),
AbstractTransactionStatus.rollbackToSavepoint(java.lang.Object),
AbstractTransactionStatus.releaseSavepoint(java.lang.Object),
SimpleTransactionStatus| Constructor and Description |
|---|
DefaultTransactionStatus(java.lang.Object transaction,
boolean newTransaction,
boolean newSynchronization,
boolean readOnly,
boolean debug,
java.lang.Object suspendedResources)
Create a new DefaultTransactionStatus instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
flush()
Delegate the flushing to the transaction object,
provided that the latter implements the
SmartTransactionObject interface. |
protected SavepointManager |
getSavepointManager()
This implementation exposes the SavepointManager interface
of the underlying transaction object, if any.
|
java.lang.Object |
getSuspendedResources()
Return the holder for resources that have been suspended for this transaction,
if any.
|
java.lang.Object |
getTransaction()
Return the underlying transaction object.
|
boolean |
hasTransaction()
Return whether there is an actual transaction active.
|
boolean |
isDebug()
Return whether the progress of this transaction is debugged.
|
boolean |
isGlobalRollbackOnly()
Determine the rollback-only flag via checking both the transaction object,
provided that the latter implements the
SmartTransactionObject interface. |
boolean |
isNewSynchronization()
Return if a new transaction synchronization has been opened
for this transaction.
|
boolean |
isNewTransaction()
Return whether the present transaction is new (else participating
in an existing transaction, or potentially not running in an
actual transaction in the first place).
|
boolean |
isReadOnly()
Return if this transaction is defined as read-only transaction.
|
boolean |
isTransactionSavepointManager()
Return whether the underlying transaction implements the
SavepointManager interface.
|
createAndHoldSavepoint, createSavepoint, getSavepoint, hasSavepoint, isCompleted, isLocalRollbackOnly, isRollbackOnly, releaseHeldSavepoint, releaseSavepoint, rollbackToHeldSavepoint, rollbackToSavepoint, setCompleted, setRollbackOnly, setSavepointpublic DefaultTransactionStatus(@Nullable java.lang.Object transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, @Nullable java.lang.Object suspendedResources)
transaction - underlying transaction object that can hold
state for the internal transaction implementationnewTransaction - if the transaction is new,
else participating in an existing transactionnewSynchronization - if a new transaction synchronization
has been opened for the given transactionreadOnly - whether the transaction is read-onlydebug - should debug logging be enabled for the handling of this transaction?
Caching it in here can prevent repeated calls to ask the logging system whether
debug logging should be enabled.suspendedResources - a holder for resources that have been suspended
for this transaction, if anypublic java.lang.Object getTransaction()
java.lang.IllegalStateException - if no transaction is activepublic boolean hasTransaction()
public boolean isNewTransaction()
TransactionStatuspublic boolean isNewSynchronization()
public boolean isReadOnly()
public boolean isDebug()
@Nullable public java.lang.Object getSuspendedResources()
public boolean isGlobalRollbackOnly()
SmartTransactionObject interface.
Will return "true" if the transaction itself has been marked rollback-only by the transaction coordinator, for example in case of a timeout.
isGlobalRollbackOnly in class AbstractTransactionStatusSmartTransactionObject.isRollbackOnly()public void flush()
SmartTransactionObject interface.flush in interface java.io.Flushableflush in interface TransactionStatusflush in class AbstractTransactionStatusprotected SavepointManager getSavepointManager()
getSavepointManager in class AbstractTransactionStatuspublic boolean isTransactionSavepointManager()
getTransaction(),
SavepointManager