# Uses of Interface
org.springframework.transaction.TransactionDefinition

Packages that use TransactionDefinition
Package
Description
org.springframework.transaction
Spring's core transaction management APIs (independent of any specific transaction management system); an exception hierarchy for Spring's transaction infrastructure; and transaction manager, definition, and status interfaces.
org.springframework.transaction.interceptor
AOP-based solution for declarative transaction demarcation.
org.springframework.transaction.jta
Transaction SPI implementation for JTA.
org.springframework.transaction.reactive
Support classes for reactive transaction management.
org.springframework.transaction.support
Support classes for the org.springframework.transaction package.

## Uses of TransactionDefinition in org.springframework.transaction

Methods in org.springframework.transaction that return TransactionDefinition
Modifier and Type
Method
Description
`static TransactionDefinition`
TransactionDefinition.`withDefaults()`
Return an unmodifiable `TransactionDefinition` with defaults.
Methods in org.springframework.transaction with parameters of type TransactionDefinition
Modifier and Type
Method
Description
`reactor.core.publisher.Mono<ReactiveTransaction>`
ReactiveTransactionManager.`getReactiveTransaction(TransactionDefinition definition)`
Emit a currently active reactive transaction or create a new one, according to the specified propagation behavior.
`TransactionStatus`
PlatformTransactionManager.`getTransaction(TransactionDefinition definition)`
Return a currently active transaction or create a new one, according to the specified propagation behavior.

## Uses of TransactionDefinition in org.springframework.transaction.interceptor

Subinterfaces of TransactionDefinition in org.springframework.transaction.interceptor
Modifier and Type
Interface
Description
`interface`
`TransactionAttribute`
This interface adds a `rollbackOn` specification to `TransactionDefinition`.
Classes in org.springframework.transaction.interceptor that implement TransactionDefinition
Modifier and Type
Class
Description
`class`
`DefaultTransactionAttribute`
Spring's common transaction attribute implementation.
`class`
`DelegatingTransactionAttribute`
`TransactionAttribute` implementation that delegates all calls to a given target `TransactionAttribute` instance.
`class`
`RuleBasedTransactionAttribute`
TransactionAttribute implementation that works out whether a given exception should cause transaction rollback by applying a number of rollback rules, both positive and negative.

## Uses of TransactionDefinition in org.springframework.transaction.jta

Methods in org.springframework.transaction.jta with parameters of type TransactionDefinition
Modifier and Type
Method
Description
`protected void`
JtaTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`
`protected void`
JtaTransactionManager.`doJtaBegin(JtaTransactionObject txObject, TransactionDefinition definition)`
Perform a JTA begin on the JTA UserTransaction or TransactionManager.

## Uses of TransactionDefinition in org.springframework.transaction.reactive

Methods in org.springframework.transaction.reactive with parameters of type TransactionDefinition
Modifier and Type
Method
Description
`static TransactionalOperator`
TransactionalOperator.`create(ReactiveTransactionManager transactionManager, TransactionDefinition transactionDefinition)`
Create a new `TransactionalOperator` using `ReactiveTransactionManager` and `TransactionDefinition`.
`protected abstract reactor.core.publisher.Mono<Void>`
AbstractReactiveTransactionManager.`doBegin(TransactionSynchronizationManager synchronizationManager, Object transaction, TransactionDefinition definition)`
Begin a new transaction with semantics according to the given transaction definition.
`final reactor.core.publisher.Mono<ReactiveTransaction>`
AbstractReactiveTransactionManager.`getReactiveTransaction(TransactionDefinition definition)`
This implementation handles propagation behavior.

## Uses of TransactionDefinition in org.springframework.transaction.support

Subinterfaces of TransactionDefinition in org.springframework.transaction.support
Modifier and Type
Interface
Description
`interface`
`ResourceTransactionDefinition`
Extended variant of `TransactionDefinition`, indicating a resource transaction and in particular whether the transactional resource is ready for local optimizations.
Classes in org.springframework.transaction.support that implement TransactionDefinition
Modifier and Type
Class
Description
`class`
`DefaultTransactionDefinition`
Default implementation of the `TransactionDefinition` interface, offering bean-style configuration and sensible default values (PROPAGATION_REQUIRED, ISOLATION_DEFAULT, TIMEOUT_DEFAULT, readOnly=false).
`class`
`DelegatingTransactionDefinition`
`TransactionDefinition` implementation that delegates all calls to a given target `TransactionDefinition` instance.
`class`
`TransactionTemplate`
Template class that simplifies programmatic transaction demarcation and transaction exception handling.
Methods in org.springframework.transaction.support with parameters of type TransactionDefinition
Modifier and Type
Method
Description
`protected int`
AbstractPlatformTransactionManager.`determineTimeout(TransactionDefinition definition)`
Determine the actual timeout to use for the given definition.
`protected abstract void`
AbstractPlatformTransactionManager.`doBegin(Object transaction, TransactionDefinition definition)`
Begin a new transaction with semantics according to the given transaction definition.
`<T> T`
CallbackPreferringPlatformTransactionManager.`execute(TransactionDefinition definition, TransactionCallback<T> callback)`
Execute the action specified by the given callback object within a transaction.
`final TransactionStatus`
AbstractPlatformTransactionManager.`getTransaction(TransactionDefinition definition)`
This implementation handles propagation behavior.
`protected void`
AbstractPlatformTransactionManager.`prepareSynchronization(DefaultTransactionStatus status, TransactionDefinition definition)`
Initialize transaction synchronization as appropriate.
Constructors in org.springframework.transaction.support with parameters of type TransactionDefinition
Modifier
Constructor
Description
``
`DefaultTransactionDefinition(TransactionDefinition other)`
Copy constructor.
``
`DelegatingTransactionDefinition(TransactionDefinition targetDefinition)`
Create a DelegatingTransactionAttribute for the given target attribute.
``
`TransactionTemplate(PlatformTransactionManager transactionManager, TransactionDefinition transactionDefinition)`
Construct a new TransactionTemplate using the given transaction manager, taking its default settings from the given transaction definition.