JavaWeb之分布式事务规范

J2EE包括了两套规范用来支持分布式事务:一种是Java Transcation API(JTA),一种是Java Transcation Service(JTS)

JTA是一种高层的、与实现无关的、与协议无关的标准API。

JTS规定了支持JTA的事务管理器的实现规范。

两阶段提交协议

多个分布式数据库,有一个全局的事务管理器来协调各个数据库的事务提交,为了实现分布式事务,需要两个阶段

  • 第一阶段:全局的事务管理器向各个数据库发出准备消息,各个数据库需要在本地把一切都准备好,执行操作,锁住资源,记录redo/undo日志,但不提交
  • 第二阶段:如果所有的数据库都报告说准备完成,全局事务管理器通知事务提交,如果有任何一个数据库没有准备好,就会回滚

但是在高并发的情况下这样做的代价太高,而采用了消息队列,来保证最终一致性

JTA

Javax.transcation中

UserTranscation接口

Status接口

Synchronization接口

Transcation接口

https://zhhll.icu/2020/javaweb/基础/8.事务处理/

本文由mdnice多平台发布

相关推荐
程序员良辰5 分钟前
JDK 环境变量的核心作用 ? 如果使用 IDEA 运行程序,是否可以不配置环境变量 ?
java·开发语言·intellij-idea
悟能不能悟5 分钟前
eclipse run springboot的application类,保存文件的路径会默认在哪里
java·spring boot·eclipse
独自破碎E6 分钟前
【数组】分糖果问题
java·开发语言·算法
没有bug.的程序员7 分钟前
Spring Boot 性能优化:启动时间从 5s 到 1s 的全链路实战指南
java·spring boot·后端·spring·性能优化·全链路·启动时间
10岁的博客8 分钟前
C语言造轮子大赛
java·c语言·数据结构
草履虫建模11 分钟前
A01 开发环境与第一个 Java 程序(IDEA / JDK / Maven 基础)
java·spring·jdk·maven·intellij-idea·idea·基础
yaoxin52112313 分钟前
305. Java Stream API - 短路操作
java·开发语言
Sweet锦14 分钟前
无需JVM!GraalVM打造Windows平台零依赖Java应用
java·windows·后端·云原生·开源
沉默-_-17 分钟前
力扣hot100普通数组(1)--C++
java·数据结构·算法·leetcode·数组
colicode18 分钟前
java短信接口开发对接全流程:Spring Boot项目集成短信功能详解
java·开发语言·spring boot