我们有一个要求,其中我们需要为不同的Teradata数据库用户提供多个数据源。现在,对于这些不同的数据源,我们如何配置多个事务管理器。
根据数据库级别给定的特权和优先级,我们有不同的数据库用户。建议我们如何有效地使用spring配置事务管理。
最佳答案
您可以像这样定义几个transactionManager类型的bean:
<bean id="hibernateTransactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernateSessionFactory" />
</bean>
<bean id="hibernateTransactionManager2"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernateSessionFactory" />
</bean>
<bean id="hibernateTransactionManager3"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernateSessionFactory" />
</bean>
然后在春季的@Transactional批注中,您可以使用已定义的事务管理器之一,如下所示:
@Transactional(value = "hibernateTransactionManager", rollbackFor = { MyException.class })
安杰洛
关于java - 如何使用Spring + Teradata配置多个事务管理器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22966886/