【问题标题】:How to configure mutliple transaction managers with Spring + Teradata如何使用 Spring + Teradata 配置多个事务管理器
【发布时间】:2014-05-22 21:52:06
【问题描述】:

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

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

【问题讨论】:

  • 你试过什么?
  • 我们已经使用 DataSourceTransactionManager 用于 spring jdbc 模板和 JPAtransactionmanager 用于 hibernate entitymanager 配置。我们有一个与 JPA entitymanager 连接的数据源和一个与 spring JDBCTemplate 连接的数据源。

标签: java spring teradata spring-transactions


【解决方案1】:

您可以像这样定义几个 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>

然后在 spring 中的 @Transactional 注释中,您可以像这样使用定义的事务管理器之一:

@Transactional(value = "hibernateTransactionManager", rollbackFor = { MyException.class })

安杰洛

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-22
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    相关资源
    最近更新 更多