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 Details

    • CompositeTransactionAttributeSource

      public CompositeTransactionAttributeSource(TransactionAttributeSource... transactionAttributeSources)
      Create a new CompositeTransactionAttributeSource for the given sources.
      Parameters:
      transactionAttributeSources - the TransactionAttributeSource instances to combine
  • Method Details

    • getTransactionAttributeSources

      public final TransactionAttributeSource[] getTransactionAttributeSources()
      Return the TransactionAttributeSource instances that this CompositeTransactionAttributeSource combines.
    • isCandidateClass

      public boolean isCandidateClass(Class<?> targetClass)
      Description copied from interface: TransactionAttributeSource
      Determine whether the given class is a candidate for transaction attributes in the metadata format of this 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.

      Specified by:
      isCandidateClass in interface TransactionAttributeSource
      Parameters:
      targetClass - the class to introspect
      Returns:
      false 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.
    • getTransactionAttribute

      @Nullable public TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass)
      Description copied from interface: TransactionAttributeSource
      Return the transaction attribute for the given method, or null if the method is non-transactional.
      Specified by:
      getTransactionAttribute in interface TransactionAttributeSource
      Parameters:
      method - the method to introspect
      targetClass - the target class (may be null, in which case the declaring class of the method must be used)
      Returns:
      the matching transaction attribute, or null if none found