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 asTransactionAspectSupport.invokeWithinTransaction(java.lang.reflect.Method, java.lang.Class<?>, org.springframework.transaction.interceptor.TransactionAspectSupport.InvocationCallback)
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.InvocationCallback, TransactionAspectSupport.TransactionInfo
Field Summary
Fields inherited from class org.springframework.transaction.interceptor.TransactionAspectSupport
logger
Constructor Summary
Constructors Constructor 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
invoke(MethodInvocation invocation)
Implement this method to perform extra treatments before and after the invocation.Methods inherited from class org.springframework.transaction.interceptor.TransactionAspectSupport
afterPropertiesSet, cleanupTransactionInfo, clearTransactionManagerCache, commitTransactionAfterReturning, completeTransactionAfterThrowing, createTransactionIfNecessary, currentTransactionInfo, currentTransactionStatus, determineTransactionManager, getBeanFactory, getTransactionAttributeSource, getTransactionManager, getTransactionManagerBeanName, invokeWithinTransaction, methodIdentification, prepareTransactionInfo, setBeanFactory, setTransactionAttributes, setTransactionAttributeSource, setTransactionAttributeSources, setTransactionManager, setTransactionManagerBeanName
Constructor Detail
TransactionInterceptor
public TransactionInterceptor()
Create a new TransactionInterceptor.Transaction manager and transaction attributes still need to be set.
TransactionInterceptor
public TransactionInterceptor(PlatformTransactionManager ptm, Properties attributes)
Create a new TransactionInterceptor.- Parameters:
ptm
- the default transaction manager to perform the actual transaction managementattributes
- 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 default transaction manager to perform the actual transaction managementtas
- 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
Description copied from interface:MethodInterceptor
Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invokeJoinpoint.proceed()
.- Specified by:
invoke
in interfaceMethodInterceptor
- Parameters:
invocation
- the method invocation joinpoint- Returns:
- the result of the call to
Joinpoint.proceed()
; might be intercepted by the interceptor - Throws:
Throwable
- if the interceptors or the target object throws an exception