org.springframework.transaction.interceptor

## Class TransactionInterceptor

- java.lang.Object
- - org.springframework.transaction.interceptor.TransactionAspectSupport
  - - org.springframework.transaction.interceptor.TransactionInterceptor

All Implemented Interfaces:
  Serializable, Advice, Interceptor, MethodInterceptor, Aware, BeanFactoryAware, InitializingBean

    public class TransactionInterceptor
    extends TransactionAspectSupport
    implements MethodInterceptor, Serializable

AOP Alliance MethodInterceptor for declarative transaction management using the common Spring transaction infrastructure (`PlatformTransactionManager`).

Derives from the `TransactionAspectSupport` class which contains the integration with Spring's underlying transaction API. TransactionInterceptor simply calls the relevant superclass methods such as `TransactionAspectSupport.createTransactionIfNecessary(java.lang.reflect.Method, java.lang.Class)` in the correct order.

TransactionInterceptors are thread-safe.

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `TransactionProxyFactoryBean`, `ProxyFactoryBean`, `ProxyFactory`, Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.springframework.transaction.interceptor.TransactionAspectSupport

`TransactionAspectSupport.TransactionInfo`

### Field Summary

### Fields inherited from class org.springframework.transaction.interceptor.TransactionAspectSupport

`logger`

### Constructor Summary

Constructors
Constructor and Description
`TransactionInterceptor()` Create a new TransactionInterceptor.
`TransactionInterceptor(PlatformTransactionManager ptm, Properties attributes)` Create a new TransactionInterceptor.
`TransactionInterceptor(PlatformTransactionManager ptm, TransactionAttributeSource tas)` Create a new TransactionInterceptor.

### Method Summary

Methods
`Object` `invoke(MethodInvocation invocation)`

### Methods inherited from class org.springframework.transaction.interceptor.TransactionAspectSupport

`afterPropertiesSet, cleanupTransactionInfo, commitTransactionAfterReturning, completeTransactionAfterThrowing, createTransactionIfNecessary, createTransactionIfNecessary, currentTransactionInfo, currentTransactionStatus, determineTransactionManager, getBeanFactory, getTransactionAttributeSource, getTransactionManager, getTransactionManagerBeanName, methodIdentification, methodIdentification, prepareTransactionInfo, setBeanFactory, setTransactionAttributes, setTransactionAttributeSource, setTransactionAttributeSources, setTransactionManager, setTransactionManagerBeanName`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### TransactionInterceptor

    public TransactionInterceptor()

Create a new TransactionInterceptor.

Transaction manager and transaction attributes still need to be set.

See Also:
  `TransactionAspectSupport.setTransactionManager(org.springframework.transaction.PlatformTransactionManager)`, `TransactionAspectSupport.setTransactionAttributes(java.util.Properties)`, `TransactionAspectSupport.setTransactionAttributeSource(TransactionAttributeSource)`

#### TransactionInterceptor

    public TransactionInterceptor(PlatformTransactionManager ptm,
                          Properties attributes)

Create a new TransactionInterceptor.

Parameters:
  `ptm` - the transaction manager to perform the actual transaction management
  `attributes` - the transaction attributes in properties format
See Also:
  `TransactionAspectSupport.setTransactionManager(org.springframework.transaction.PlatformTransactionManager)`, `TransactionAspectSupport.setTransactionAttributes(java.util.Properties)`

#### TransactionInterceptor

    public TransactionInterceptor(PlatformTransactionManager ptm,
                          TransactionAttributeSource tas)

Create a new TransactionInterceptor.

Parameters:
  `ptm` - the transaction manager to perform the actual transaction management
  `tas` - the attribute source to be used to find transaction attributes
See Also:
  `TransactionAspectSupport.setTransactionManager(org.springframework.transaction.PlatformTransactionManager)`, `TransactionAspectSupport.setTransactionAttributeSource(TransactionAttributeSource)`

### Method Detail

#### invoke

    public Object invoke(MethodInvocation invocation)
                  throws Throwable

Specified by:
  `invoke` in interface `MethodInterceptor`
Throws:
  `Throwable`