public class NameMatchTransactionAttributeSource extends Object implements TransactionAttributeSource, org.springframework.context.EmbeddedValueResolverAware, org.springframework.beans.factory.InitializingBean, Serializable
TransactionAttributeSource implementation that
allows attributes to be matched by registered name.isMatch(java.lang.String, java.lang.String),
MethodMapTransactionAttributeSource,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
protected static Log |
logger
Logger available to subclasses.
|
| Constructor and Description |
|---|
NameMatchTransactionAttributeSource() |
| Modifier and Type | Method and Description |
|---|---|
void |
addTransactionalMethod(String methodName,
TransactionAttribute attr)
Add an attribute for a transactional method.
|
void |
afterPropertiesSet() |
boolean |
equals(Object other) |
TransactionAttribute |
getTransactionAttribute(Method method,
Class<?> targetClass)
Return the transaction attribute for the given method,
or
null if the method is non-transactional. |
int |
hashCode() |
protected boolean |
isMatch(String methodName,
String mappedName)
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.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitisCandidateClassprotected static final Log logger
Static for optimal serialization.
public void setNameMap(Map<String,TransactionAttribute> nameMap)
TransactionAttribute instances.public void setProperties(Properties transactionAttributes)
Expects method names as keys and String attributes definitions as values,
parsable into TransactionAttribute instances via a
TransactionAttributeEditor.
public void addTransactionalMethod(String methodName, TransactionAttribute attr)
Method names can be exact matches, or of the pattern "xxx*", "*xxx", or "*xxx*" for matching multiple methods.
methodName - the name of the methodattr - attribute associated with the methodpublic void setEmbeddedValueResolver(org.springframework.util.StringValueResolver resolver)
setEmbeddedValueResolver in interface org.springframework.context.EmbeddedValueResolverAwarepublic void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean@Nullable public TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass)
TransactionAttributeSourcenull if the method is non-transactional.getTransactionAttribute in interface TransactionAttributeSourcemethod - 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 foundprotected boolean isMatch(String methodName, String mappedName)
The default implementation checks for "xxx*", "*xxx", and "*xxx*" matches, as well as direct equality. Can be overridden in subclasses.
methodName - the method name of the classmappedName - the name in the descriptortrue if the names matchPatternMatchUtils.simpleMatch(String, String)