public interface TransactionAttributeSource
TransactionInterceptor for metadata retrieval.
Implementations know how to source transaction attributes, whether from configuration, metadata attributes at source level (such as Java 5 annotations), or anywhere else.
TransactionAspectSupport.setTransactionAttributeSource(org.springframework.transaction.interceptor.TransactionAttributeSource),
TransactionProxyFactoryBean.setTransactionAttributeSource(org.springframework.transaction.interceptor.TransactionAttributeSource),
AnnotationTransactionAttributeSource| Modifier and Type | Method and Description |
|---|---|
TransactionAttribute |
getTransactionAttribute(Method method,
Class<?> targetClass)
Return the transaction attribute for the given method,
or
null if the method is non-transactional. |
default boolean |
isCandidateClass(Class<?> targetClass)
Determine whether the given class is a candidate for transaction attributes
in the metadata format of this
TransactionAttributeSource. |
default boolean isCandidateClass(Class<?> targetClass)
TransactionAttributeSource.
If this method returns false, the methods on the given class
will not get traversed for getTransactionAttribute(java.lang.reflect.Method, java.lang.Class<?>) introspection.
Returning false is therefore an optimization for non-affected
classes, whereas true simply means that the class needs to get
fully introspected for each method on the given class individually.
targetClass - the class to introspectfalse if the class is known to have no transaction
attributes at class or method level; true otherwise. The default
implementation returns true, leading to regular introspection.@Nullable TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass)
null if the method is non-transactional.method - the method to introspecttargetClass - the target class (may be null,
in which case the declaring class of the method must be used)null if none found