public class CompositeTransactionAttributeSource extends Object implements TransactionAttributeSource, Serializable
TransactionAttributeSource
implementation that iterates
over a given array of TransactionAttributeSource
instances.Constructor and Description |
---|
CompositeTransactionAttributeSource(TransactionAttributeSource... transactionAttributeSources)
Create a new CompositeTransactionAttributeSource for the given sources.
|
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. |
TransactionAttributeSource[] |
getTransactionAttributeSources()
Return the TransactionAttributeSource instances that this
CompositeTransactionAttributeSource combines.
|
boolean |
isCandidateClass(Class<?> targetClass)
Determine whether the given class is a candidate for transaction attributes
in the metadata format of this
TransactionAttributeSource . |
public CompositeTransactionAttributeSource(TransactionAttributeSource... transactionAttributeSources)
transactionAttributeSources
- the TransactionAttributeSource instances to combinepublic final TransactionAttributeSource[] getTransactionAttributeSources()
public boolean isCandidateClass(Class<?> targetClass)
TransactionAttributeSource
TransactionAttributeSource
.
If this method returns false
, the methods on the given class
will not get traversed for TransactionAttributeSource.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.
isCandidateClass
in interface TransactionAttributeSource
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 public TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass)
TransactionAttributeSource
null
if the method is non-transactional.getTransactionAttribute
in interface TransactionAttributeSource
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