@ -349,35 +349,30 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init
* Determine the specific transaction manager to use for the given transaction .
* Determine the specific transaction manager to use for the given transaction .
* /
* /
protected PlatformTransactionManager determineTransactionManager ( TransactionAttribute txAttr ) {
protected PlatformTransactionManager determineTransactionManager ( TransactionAttribute txAttr ) {
if ( this . beanFactory ! = null ) {
// Do not attempt to lookup tx manager if no tx attributes are set
String qualifier = txAttr ! = null ? txAttr . getQualifier ( ) : null ;
if ( txAttr = = null | | this . beanFactory = = null ) {
if ( StringUtils . hasText ( qualifier ) ) {
return getTransactionManager ( ) ;
return determineQualifiedTransactionManager ( qualifier ) ;
}
}
String qualifier = ( txAttr . getQualifier ( ) ! = null ?
else if ( StringUtils . hasText ( this . transactionManagerBeanName ) ) {
txAttr . getQualifier ( ) : this . transactionManagerBeanName ) ;
return determineQualifiedTransactionManager ( this . transactionManagerBeanName ) ;
if ( StringUtils . hasText ( qualifier ) ) {
}
PlatformTransactionManager txManager = this . transactionManagerCache . get ( qualifier ) ;
else if ( txAttr ! = null ) { // Do not lookup default bean name if no tx attributes are set
if ( txManager = = null ) {
PlatformTransactionManager defaultTransactionManager = getTransactionManager ( ) ;
txManager = BeanFactoryAnnotationUtils . qualifiedBeanOfType (
if ( defaultTransactionManager = = null ) {
this . beanFactory , PlatformTransactionManager . class , qualifier ) ;
defaultTransactionManager = this . beanFactory . getBean ( PlatformTransactionManager . class ) ;
this . transactionManagerCache . putIfAbsent ( qualifier , txManager ) ;
this . transactionManagerCache . putIfAbsent (
DEFAULT_TRANSACTION_MANAGER_KEY , defaultTransactionManager ) ;
}
return defaultTransactionManager ;
}
}
return txManager ;
}
}
return getTransactionManager ( ) ;
else {
}
PlatformTransactionManager defaultTransactionManager = getTransactionManager ( ) ;
if ( defaultTransactionManager = = null ) {
private PlatformTransactionManager determineQualifiedTransactionManager ( String qualifier ) {
defaultTransactionManager = this . beanFactory . getBean ( PlatformTransactionManager . class ) ;
PlatformTransactionManager txManager = this . transactionManagerCache . get ( qualifier ) ;
this . transactionManagerCache . putIfAbsent (
if ( txManager = = null ) {
DEFAULT_TRANSACTION_MANAGER_KEY , defaultTransactionManager ) ;
txManager = BeanFactoryAnnotationUtils . qualifiedBeanOfType (
}
this . beanFactory , PlatformTransactionManager . class , qualifier ) ;
return defaultTransactionManager ;
this . transactionManagerCache . putIfAbsent ( qualifier , txManager ) ;
}
}
return txManager ;
}
}
/ * *
/ * *