spring 默认事物管理器
未有答案和文档资料说明。。
<tx:annotation-driven transaction-manager="transactionManager2"/>
<tx:annotation-driven transaction-manager="transactionManager"/>
事物代码测试和代码调试发现
只有第一个配置有效
代码调试:
spring-tx-3.2.1.RELEASE.jar
package org.springframework.transaction.config
AnnotationDrivenBeanDefinitionParser
入口:77行 parse 方法
打断点会调试会进入2次,
第一次element的是transactionManager2
然后会调用AopAutoProxyConfigurer.configureAutoProxyCreator(element, parserContext);
!parserContext.getRegistry().containsBeanDefinition(txAdvisorBeanName) 为true
调用registerTransactionManager(element, interceptorDef); 注册为transactionManager2
第二次element的是transactionManager,但是 !parserContext.getRegistry().containsBeanDefinition(txAdvisorBeanName) 为false
直接跳出if代码块了
总结:配置多个tx:annotation-driven,只有第一个有效