如何使用Spring + Teradata配置多个事务管理器

时间:2014-04-09 15:14:37

标签: java spring teradata spring-transactions

我们需要为不同的teradata数据库用户提供多个数据源。现在,对于这些不同的数据源,我们如何配置多个事务管理器。

根据DB级别的权限和优先级,我们拥有不同的数据库用户。建议我们如何有效地使用spring配置事务管理。

1 个答案:

答案 0 :(得分:0)

您可以像这样定义几个类型为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 })

安吉洛