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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addTransactionalMethod
(String methodName, TransactionAttribute attr) Add an attribute for a transactional method.void
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.boolean
getTransactionAttribute
(Method method, Class<?> targetClass) Return the transaction attribute for the given method, ornull
if the method is non-transactional.int
hashCode()
protected boolean
Determine if the given method name matches the mapped name.void
setEmbeddedValueResolver
(StringValueResolver resolver) Set the StringValueResolver to use for resolving embedded definition values.void
setNameMap
(Map<String, TransactionAttribute> nameMap) Set a name/attribute map, consisting of method names (for example, "myMethod") andTransactionAttribute
instances.void
setProperties
(Properties transactionAttributes) Parse the given properties into a name/attribute map.toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.transaction.interceptor.TransactionAttributeSource
hasTransactionAttribute, isCandidateClass
-
Field Details
-
logger
Logger 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") andTransactionAttribute
instances. -
setProperties
Parse the given properties into a name/attribute map.Expects method names as keys and String attributes definitions as values, parsable into
TransactionAttribute
instances via aTransactionAttributeEditor
. -
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:EmbeddedValueResolverAware
Set the StringValueResolver to use for resolving embedded definition values.- Specified by:
setEmbeddedValueResolver
in interfaceEmbeddedValueResolverAware
-
afterPropertiesSet
public void afterPropertiesSet()Description copied from interface:InitializingBean
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.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:
afterPropertiesSet
in interfaceInitializingBean
-
getTransactionAttribute
@Nullable public TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass) Description copied from interface:TransactionAttributeSource
Return the transaction attribute for the given method, ornull
if the method is non-transactional.- Specified by:
getTransactionAttribute
in 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
null
if 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:
true
if the names match- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-