Class NameMatchTransactionAttributeSource
java.lang.Object
org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource
- All Implemented Interfaces:
Serializable, Aware, InitializingBean, EmbeddedValueResolverAware, TransactionAttributeSource
public class NameMatchTransactionAttributeSource
extends Object
implements TransactionAttributeSource, EmbeddedValueResolverAware, InitializingBean, Serializable
Simple
TransactionAttributeSource implementation that
allows attributes to be matched by registered name.- Since:
- 21.08.2003
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.apache.commons.logging.LogLogger available to subclasses. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTransactionalMethod(String methodName, TransactionAttribute attr) Add an attribute for a transactional method.voidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.booleangetTransactionAttribute(Method method, @Nullable Class<?> targetClass) Return the transaction attribute for the given method, ornullif the method is non-transactional.inthashCode()protected booleanDetermine if the given method name matches the mapped name.voidsetEmbeddedValueResolver(StringValueResolver resolver) Set the StringValueResolver to use for resolving embedded definition values.voidsetNameMap(Map<String, TransactionAttribute> nameMap) Set a name/attribute map, consisting of method names (for example, "myMethod") andTransactionAttributeinstances.voidsetProperties(Properties transactionAttributes) Parse the given properties into a name/attribute map.toString()Methods inherited from interface TransactionAttributeSource
hasTransactionAttribute, isCandidateClass
-
Field Details
-
logger
protected static final org.apache.commons.logging.Log loggerLogger available to subclasses.Static for optimal serialization.
-
-
Constructor Details
-
NameMatchTransactionAttributeSource
public NameMatchTransactionAttributeSource()
-
-
Method Details
-
setNameMap
Set a name/attribute map, consisting of method names (for example, "myMethod") andTransactionAttributeinstances.- See Also:
-
setProperties
Parse the given properties into a name/attribute map.Expects method names as keys and String attributes definitions as values, parsable into
TransactionAttributeinstances via aTransactionAttributeEditor.- See Also:
-
addTransactionalMethod
Add an attribute for a transactional method.Method names can be exact matches, or of the pattern "xxx*", "*xxx", or "*xxx*" for matching multiple methods.
- Parameters:
methodName- the name of the methodattr- attribute associated with the method
-
setEmbeddedValueResolver
Description copied from interface:EmbeddedValueResolverAwareSet the StringValueResolver to use for resolving embedded definition values.- Specified by:
setEmbeddedValueResolverin interfaceEmbeddedValueResolverAware
-
afterPropertiesSet
public void afterPropertiesSet()Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
afterPropertiesSetin interfaceInitializingBean
-
getTransactionAttribute
public @Nullable 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 (can benull, in which case the declaring class of the method must be used)- Returns:
- the matching transaction attribute, or
nullif none found
-
isMatch
Determine if the given method name matches the mapped name.The default implementation checks for "xxx*", "*xxx", and "*xxx*" matches, as well as direct equality. Can be overridden in subclasses.
- Parameters:
methodName- the method name of the classmappedName- the name in the descriptor- Returns:
trueif the names match- See Also:
-
equals
-
hashCode
-
toString
-