Class NameMatchTransactionAttributeSource
java.lang.Object
org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource
- All Implemented Interfaces:
Serializable
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.EmbeddedValueResolverAware
,TransactionAttributeSource
public class NameMatchTransactionAttributeSource
extends Object
implements TransactionAttributeSource, org.springframework.context.EmbeddedValueResolverAware, org.springframework.beans.factory.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
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
(org.springframework.util.StringValueResolver resolver) void
setNameMap
(Map<String, TransactionAttribute> nameMap) Set a name/attribute map, consisting of method names (e.g.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
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 (e.g. "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
public void setEmbeddedValueResolver(org.springframework.util.StringValueResolver resolver) - Specified by:
setEmbeddedValueResolver
in interfaceorg.springframework.context.EmbeddedValueResolverAware
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
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 (may 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:
-
PatternMatchUtils.simpleMatch(String, String)
-
equals
-
hashCode
public int hashCode() -
toString
-