java - Spring JDBC如何在不使用JTA的情况下使用事务管理器实现多数据源

标签 java spring jdbc

经调查,处理这种情况的唯一办法似乎是使用JTA。如果我只想使用 JDBC 该怎么办?能不能完成呢? 这个reference links非常接近我正在寻找的东西。有人有什么主意吗?这真的很有帮助。谢谢。如果提供示例,这是一个优点。

我不考虑ORM的原因是查询海量数据时性能较差。因此,我认为原生 SQL 加 JDBCTemplate 可能适合我。

最佳答案

如果您了解所涉及的权衡,ChainedTransactionManager可能是一个选择。每个数据源都有一个单独的事务管理器,然后有一个聚合所有其他 TX 管理器的 ChainedTransactionManager。

它的工作原理是依次调用每个委托(delegate) TX 管理器。与 JTA 不同,它不是真正的两阶段提交,并且有可能使事物处于不一致的状态。

关于java - Spring JDBC如何在不使用JTA的情况下使用事务管理器实现多数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28713932/

相关文章:

spring - 将 session 对象注入(inject)DAO bean而不是 session 工厂?

java - Spring @Autowired - 后台发生了什么

java - Spring 从 REQUIRED_NEW 方法调用 REQUIRED 方法

jdbc - Glassfish 管理控制台的 java.lang.RuntimeException

java - Android 中 0 除以 0 得到 NaN(不是数字)

java - PrimeFaces 3 TabView 带有额外的空白

java - SQL查询语法错误

java - 尝试在 REPEATABLE-READ 隔离级别下在 MySQL 中创建幻像

java - 在 Windows 10 上配置 apache tomcat 8.0.44 时出错

java - GridLayout 仅在手动调整窗口大小时更新