java 分布式事务_Java核心知识 Spring原理十五 JPA 原理

ddc35cd353cb5132db808d9172b2e7b0.png

1. 事务

事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性

( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。

2. 本地事务

紧密依赖于底层资源管理器(例如数据库连接 ),事务处理局限在当前事务资源内。此种事务处理

方式不存在对应用服务器的依赖,因而部署灵活却无法支持多数据源的分布式事务。在数据库连

接中使用本地事务示例如下:

714f36fbcbbac039063c8f8e1886fb1a.png
a95d0a9d7a6058ec786f76dd691c1cbf.png

分布式事务

Java 事务编程接口(JTA:Java Transaction API)和 Java 事务服务 (JTS;Java Transaction

Service) 为 J2EE 平台提供了分布式事务服务。分布式事务(Distributed Transaction)包括事务

管理器(Transaction Manager)和一个或多个支持 XA 协议的资源管理器 ( Resource

Manager )。我们可以将资源管理器看做任意类型的持久化数据存储;事务管理器承担着所有事务

参与单元的协调与控制。

de27de0227916ee43d0f0d11e771e164.png
68c55fe03bea784339c5491d081fc6fd.png

两阶段提交

两阶段提交主要保证了分布式事务的原子性:即所有结点要么全做要么全不做,所谓的两个阶段

是指:第一阶段:准备阶段;第二阶段:提交阶段。

5f7c968cbd821187f33cdab2322326f9.png

1 准备阶段

事务协调者(事务管理器)给每个参与者(资源管理器)发送 Prepare 消息,每个参与者要么直接返回

失败(如权限验证失败),要么在本地执行事务,写本地的 redo 和 undo 日志,但不提交,到达一

种“万事俱备,只欠东风”的状态。

2 提交阶段:

如果协调者收到了参与者的失败消息或者超时,直接给每个参与者发送回滚(Rollback)消息;否则,

发送提交(Commit)消息;参与者根据协调者的指令执行提交或者回滚操作,释放所有事务处理过

程中使用的锁资源。(注意:必须在最后阶段释放锁资源)

将提交分成两阶段进行的目的很明确,就是尽可能晚地提交事务,让事务在提交前尽可能地完成

所有能完成的工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Latex中定理、引理、证明、假设、空白行的编写

1. 引理 \newtheorem{lemma}{Lemma}[section] \begin{lemma} \label{lemma1}\end{lemma}编译效果: 2. 定理 \newtheorem{thm}{\bf Theorem}[section] \begin{thm}\label{thm1} Suppose system (\ref{l1}) satisfies Assumption (\ref{mim1}), the closed-loop s…

【渝粤题库】陕西师范大学180102 广告策划 作业(高起专)

一、单项选择题 1.市场调查,是进行广告策划的( )。 A.基础 B.核心 C.内涵 D.外延 2.知觉是大脑对当前直接作用于感觉器官的客观事物的( &#xf…

【渝粤题库】陕西师范大学200011基础写作 作业(高起专)

一、单项选择题 1.下面不属于写作活动特点的是( )。 A.人文性 B.综合性 C.个体性 D.群体性 2.写作活动质量的高低乃至成败,归根到底是由写作主体的( )所决定的。 A.思维 B.表达能力 C. 表达技巧 D.思维和表达能力 3.“…

Latex设置字体大小

全局模式 \documentclass[12pt]{article} 在文档的开头,有设置整个文章的字体大小,如:12pt。 局部模式 设置字体大小的命令从小到大为: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge…

c 结构体在声明时赋值_C/C++编程笔记:C++入门知识,C++多态性和虚函数解析

本篇要学习的内容和知识结构概览多态性编译时的多态性称为静态联编. 当调用重载函数时, 在编译期就确定下来调用哪个函数.运行时的多态性称为动态联编. 在运行时才能确定调用哪个函数, 由虚函数来支持.静态联编中的赋值兼容性及名字支配规律派生一个类的原因并非总是为了添加新…

【渝粤题库】陕西师范大学200411 数学建模 作业(专升本)

《数学建模》作业 计算题1. 求差分方程 的初值解。 2. 求差分方程 的初值解。 二、1.某储蓄所每天的营业时间是上午9:00到下午5:00。根据经验,每天不同时间段所需要的服务员数量如下: 储蓄所可以雇佣全时和半时两类服务员。全时服…

【渝粤题库】陕西师范大学200781 数据库原理及应用 作业

《数据库原理及应用》作业 一、选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是____阶段。 数据库系统 B.文件系统 C.人工管理 D&#xf…

concurrent vs. simultaneous

Both the words mean “occurring at the same time”, but “concurrent” represents the events that occur over a period of time whereas “simultaneous” represents the events that occur at a point in time. https://www.perfmatrix.com/concurrent-users-vs-simul…

使用Spring Boot和GraphQL构建安全的API

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 GraphQL是Facebook在2012年开发的一种数据查询语言,用于解决REST API和传…

python flask 上传下载 api_python – 使用Flask上传和下载文件

PythonAnywhere dev这里.这是一个关于Flask和Web开发的一个很好的问题,而不是我们的系统特定的,所以我会尝试给出一个没有任何特定的通用答案:-)有一些事情我需要知道,给出一个明确的答案你的问题,所以我首先列出我所做的假设 – 如果我错了任何一个,给我一个评论我会适当地更新…

【渝粤题库】陕西师范大学201841 比较教育学 作业(专升本)

《比较教育学》作业 单选题 1、比较教育学界人们常说的“比较教育之父”是( )。 A.阿尔特巴赫 B. 康德尔 C. 萨德勒 D. 朱利安 2、结构功能主义对比较教育的影响,主要表现为比较教育注重对( )之间的关系进行分析和研究。 A、教育与民族特性 B、教育与民族传统 C、教…

visio 绘图矢量图素材网站

visio 绘图矢量图素材网站 visio是个绘图的好工具,可是自带图形元素有限,没有还要自己画。 推荐几个矢量图形素材库,里边有很多图形,很方便的导入到visio中,放大也不失真。 https://www.iconfont.cn/ https://www.st…

【渝粤题库】陕西师范大学202231财务管理Ⅰ 作业(高起专)

《财务管理》作业 一、名词解释 1、财务管理的目标 2、销售百分比法 3、最佳资本结构 4、企业价值最大化: 5、优先股股票: 6、财务风险: 7、年金: 8、债券: 9、直接投资: 10、筹资方式 11、财务杠杆 12、蓝…

python找答案__学小易找答案

【单选题】下列各酸中为一元酸的是( )。 (5.0分)【单选题】下列物质中,还原能力最强的 是( )。 (5.0分)【简答题】根据提供胡”管理投标书.docx“文档进行排版,实现页眉和页脚、目录的录入,管理投标书排版后胡效果如图所示。6-20.【简答题】python代码连接数库过程【单选题】下…

【渝粤题库】陕西师范大学209005课堂教学艺术作业(高起专)

单选题 1、教例:一位数学教师讲授例题时,因板书有误导致最终答案不符。他意识到出了差错,于是,不谎不忙地问了一句:“同学们,这个答案合理吗?”一位同学回答:“不合理。”教师追问:…

LaTeX的编译速度优化方案

1 运行字体 如果是卡在 eu1lmr.fd 的话,是因为 XeLaTeX 在定位字体。 用管理员运行 fc-cache -fv一般能够解决。 其它方法: https://www.zhihu.com/question/53981204 https://blog.csdn.net/weixinhum/article/details/121056868 2 优化方案 2.1 …

Oracle发布Java 8

Oracle已决定在3月18日发布升级到JDK(Java开发工具包)8的消息,尽管新版本可能会带来一些错误(如Full speed所介绍的那样) :Oracle会在3月发布Java 8,即使存在错误 。 Oracle JDK 8发行经理Math…

【渝粤题库】陕西师范大学210015幼儿园社会教育作业(高起专)

《幼儿园社会教育》作业 一、单选题 1.谁创立了发生认识论并提出了儿童认知发展阶段论() A.班杜拉  B.弗洛伊德 C.皮亚杰D.柯尔伯格 2.下列不属于安斯沃思对…

ue4材质节点大全_转载于知乎:UE4 多象限(UDIM)贴图在UE4中的应用

各位小伙伴早上好啊!真的又隔了很久才再次见面。。这次是工作上一个同事在网上看到了一篇有意思的文章分享给我,觉得这种方式确实挺有意思,反正我是之前没有这么去考虑过。希望能够给大家带来一点启发!!此文章转载于知乎:UE4 多象限(UDIM)贴图…

【渝粤题库】陕西师范大学202311金融机构管理Ⅰ作业(高起专)

《金融机构管理》作业 一 、选择题 1.在我国的金融机构中,下列哪一项是政策性银行?( ) A.交通银行 B.中国银行 C.中国农业发展银行 D.中国农业银行 2.商业银行最主要的资金来源是( &#xff09…