public interface CallbackPreferringPlatformTransactionManager extends PlatformTransactionManager
PlatformTransactionManager
interface, exposing a method for executing a given callback within a transaction.
Implementors of this interface automatically express a preference for
callbacks over programmatic getTransaction
, commit
and rollback
calls. Calling code may check whether a given
transaction manager implements this interface to choose to prepare a
callback instead of explicit transaction demarcation control.
Spring's TransactionTemplate
and
TransactionInterceptor
detect and use this PlatformTransactionManager variant automatically.
TransactionTemplate
,
TransactionInterceptor
Modifier and Type | Method and Description |
---|---|
<T> T |
execute(TransactionDefinition definition,
TransactionCallback<T> callback)
Execute the action specified by the given callback object within a transaction.
|
commit, getTransaction, rollback
@Nullable <T> T execute(@Nullable TransactionDefinition definition, TransactionCallback<T> callback) throws TransactionException
Allows for returning a result object created within the transaction, that is, a domain object or a collection of domain objects. A RuntimeException thrown by the callback is treated as a fatal exception that enforces a rollback. Such an exception gets propagated to the caller of the template.
definition
- the definition for the transaction to wrap the callback incallback
- the callback object that specifies the transactional actionnull
if noneTransactionException
- in case of initialization, rollback, or system errorsjava.lang.RuntimeException
- if thrown by the TransactionCallback