有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用aspectj的java多Spring事务管理

有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" />

这会导致设置抽象类“org”的transactionManager属性。springframework。交易拦截器。TransactionSpect支持在服务器启动期间创建的最后一个注释事务方面bean

但是,无法在运行时使用限定符选择TransactionManager。 没有组织。springframework。交易aspectj。AnnotationTransactionSpect允许多个事务管理器


共 (0) 个答案