Class CompositeTransactionAttributeSource
java.lang.Object
org.springframework.transaction.interceptor.CompositeTransactionAttributeSource
- All Implemented Interfaces:
Serializable,TransactionAttributeSource
public class CompositeTransactionAttributeSource
extends Object
implements TransactionAttributeSource, Serializable
Composite
TransactionAttributeSource implementation that iterates
over a given array of TransactionAttributeSource instances.- Since:
- 2.0
- Author:
- Juergen Hoeller
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCompositeTransactionAttributeSource(TransactionAttributeSource... transactionAttributeSources) Create a new CompositeTransactionAttributeSource for the given sources. -
Method Summary
Modifier and TypeMethodDescriptiongetTransactionAttribute(Method method, Class<?> targetClass) Return the transaction attribute for the given method, ornullif the method is non-transactional.final TransactionAttributeSource[]Return the TransactionAttributeSource instances that this CompositeTransactionAttributeSource combines.booleanisCandidateClass(Class<?> targetClass) Determine whether the given class is a candidate for transaction attributes in the metadata format of thisTransactionAttributeSource.
-
Constructor Details
-
CompositeTransactionAttributeSource
public CompositeTransactionAttributeSource(TransactionAttributeSource... transactionAttributeSources) Create a new CompositeTransactionAttributeSource for the given sources.- Parameters:
transactionAttributeSources- the TransactionAttributeSource instances to combine
-
-
Method Details
-
getTransactionAttributeSources
Return the TransactionAttributeSource instances that this CompositeTransactionAttributeSource combines. -
isCandidateClass
Description copied from interface:TransactionAttributeSourceDetermine whether the given class is a candidate for transaction attributes in the metadata format of thisTransactionAttributeSource.If this method returns
false, the methods on the given class will not get traversed forTransactionAttributeSource.getTransactionAttribute(java.lang.reflect.Method, java.lang.Class<?>)introspection. Returningfalseis therefore an optimization for non-affected classes, whereastruesimply means that the class needs to get fully introspected for each method on the given class individually.- Specified by:
isCandidateClassin interfaceTransactionAttributeSource- Parameters:
targetClass- the class to introspect- Returns:
falseif the class is known to have no transaction attributes at class or method level;trueotherwise. The default implementation returnstrue, leading to regular introspection.
-
getTransactionAttribute
@Nullable public TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass) Description copied from interface:TransactionAttributeSourceReturn the transaction attribute for the given method, ornullif the method is non-transactional.- Specified by:
getTransactionAttributein interfaceTransactionAttributeSource- Parameters:
method- the method to introspecttargetClass- the target class (may benull, in which case the declaring class of the method must be used)- Returns:
- the matching transaction attribute, or
nullif none found
-