我们已经配置了多个事务管理器:@Transactional使用哪个默认事务管理器?
<tx:annotation-driven transaction-manager="transactionManager1" />
<tx:annotation-driven transaction-manager="transactionManager2" />
<tx:annotation-driven transaction-manager="transactionManager3" />
<bean id="transactionManage1"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory1" />
</bean>
<bean id="transactionManager2"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory2" />
</bean>
<bean id="transactionManage3"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory3" />
</bean>
不过,我没有看到在服务类中的@Transactional注释指定的事务管理器的名称。我想知道哪个交易管理器将被使用?代码正在工作,它看起来像使用了第一个 - “transactionManager1”默认情况下。我想念什么?
你没有回答你自己的问题吗?如果需要,可以将_ @ Transactional_注释的_value_属性设置为所需的特定tx管理器的名称。 – Angad 2014-12-02 03:19:31
我知道我们可以指定值,但是我的问题是如果我们没有指定值,它是如何工作的。它似乎使用第一个TX管理器,虽然我找不到这样的书/教程。 – user3552864 2014-12-03 04:19:35