public class NameMatchTransactionAttributeSource extends Object implements TransactionAttributeSource, EmbeddedValueResolverAware, 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()
Invoked by the containing
BeanFactory after it has set all bean properties
and satisfied BeanFactoryAware, ApplicationContextAware etc. |
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(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
(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(StringValueResolver resolver)
EmbeddedValueResolverAwaresetEmbeddedValueResolver in interface EmbeddedValueResolverAwarepublic void afterPropertiesSet()
InitializingBeanBeanFactory after it has set all bean properties
and satisfied BeanFactoryAware, 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.
afterPropertiesSet in interface 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)