java - 数据库驱动程序需要支持分布式事务还是数据库本身需要支持?

标签 java transactions jta distributed-transactions

我正在尝试了解 Java EE 中的分布式事务。在阅读了一些网上资料和书籍后,我了解到在Java EE中,有一个特定的API,称为JTA,它是Java EE的技术堆栈之一,用于处理分布式事务。除了 JTA 之外,还有其他概念,例如:2PC(两阶段提交)策略XA、扩展架构

仅考虑数据库,我对分布式事务有以下问题:

Q1) 对分布式事务的真正支持是否来自数据库驱动程序本身?

Q2)数据库(真正的数据库)是否意识到分布式事务或由其他组件负责?

有人可以帮我解决这些疑问吗?

最佳答案

简而言之,真正具有事务功能的是数据库。数据库必须关心提交后的数据是否一致并正确存储到磁盘。

同时,司机可以帮助您管理交易。例如,在第一次请求时为您打开它或自动提交它。

编辑: 抱歉,主要问题是关于分布式事务的。 分布式事务由驱动程序和事务管理器处理。从数据库的角度来看,这笔交易没有什么特别之处。

关于java - 数据库驱动程序需要支持分布式事务还是数据库本身需要支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455321/

相关文章:

java - 我可以在 Java 中创建一个变量数组吗?

java - 调用方法来启动代码或使用事件总线

java - Lucene荧光笔

java - 无状态 session EJB 3.0 中的事务回滚

Spring编程Jdbc事务回滚不起作用

java - 增加 WildFly 中的 JTA 事务超时限制

java - 将复杂的项目从Ant迁移到Maven-如何处理异常的文件夹结构?

java - 同步Hibernate持久化+Spring AMQP发布事务

javax.transaction.Transactional 与 org.springframework.transaction.annotation.Transactional

java - Maven 构建环境中的 Atomikos + Jetty - 类加载器问题?