有2个交易管理器如下
<bean id="transactionManager1"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource1" />
</bean>
<bean id="transactionManager2"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource2" />
</bean>
两者都注册到AspectJ AnnotationTransactionManager,如下所示
<bean class="org.springframework.transaction.aspectj.AnnotationTransactionAspect" factory-method="aspectOf">
<property name="transactionManager" ref="transactionManager1" />
</bean>
<bean class="org.springframework.transaction.aspectj.AnnotationTransactionAspect" factory-method="aspectOf">
<property name="transactionManager" ref="transactionManager2" />
</bean>
使用注释启用事务,如下所示 -
<tx:annotation-driven transaction-manager="transactionManager1" mode="aspectj" />
<tx:annotation-driven transaction-manager="transactionManager2" mode="aspectj" />
这会导致将Abstract class - &#39; org.springframework.transaction.interceptor.TransactionAspectSupport的transactionManager属性设置为服务器启动期间创建的最后一个注释事务方面bean。
但是无法在运行时使用限定符选择TransactionManager。 org.springframework.transaction.aspectj.AnnotationTransactionAspect asllow多个交易经理?