声明式事务-- 事务的传播机制-- 事务传播机制种类

简介: 声明式事务-- 事务的传播机制-- 事务传播机制种类

声明式事务-- 事务的传播机制-- 事务传播机制种类


事务的传播机制


事务传播机制种类


事务的传播机制7种,如图:


image.png


当有多个事务处理并存时,如何控制?


首先我们要根据事务的传播属性进行判断,视情况而定。

这里主要说明两种情况应该怎么辨别。


REQUIRES【默认传播属性】


外面的事务包含事务时,里面的事务执行时,只要有一个失败就全部回滚。

image.png


REQUIRES_NEW


里面的事务执行哪一个失败就那一个进行回滚,两个事务之间相互不影响。


image.png



事务的传播机制的设置方法


image.png


REQUIRES_NEW 和REQUIRED 在处理事务的策略


应用实例:

@Transactional//表示本身是一个事务
public void multiTxTest() {
    //2号用户购买2号商品,购买一个
    goodService.buyGoods(2,2,1);//也是一个事务
     //1号用户购买1号商品,购买一个
    goodService.buyGoods(1,1,1);//也是一个事务
}


解析


  1. 1.如果设置为REQUIRES_NEW
    buyGoods2 如果错误,不会影响到buyGoods()反之亦然,即它们的事务是独立的.
  2. 2.如果设置为REQUIRED
    buyGoods2 和buyGoods 是一个整体,只要有方法的事务错误,那么两个方法都不会执行成功.
相关文章
|
canal 分布式计算 Hadoop
canal针对分库分表场景的高可用架构设计与应用
canal针对分库分表场景的高可用架构设计与应用
Jira-API的详细使用例子
下面是Jira-API的详细使用的例子,包含: • Jira的登陆,通过jql批量查询jira-issue, • 获得jira-project下的所有issue,assignee的详细信息, • 添加和更新defect • 下载和上传附件 • 通过Jira登录的cookies搭配requsts库发送自定义的一些http请求
2611 1
|
2月前
|
XML 人工智能 Java
java通过自定义TraceId实现简单的链路追踪
本文介绍了如何在Spring Boot项目中通过SLF4J的MDC实现日志上下文traceId追踪。内容涵盖依赖配置、拦截器实现、网关与服务间调用的traceId传递、多线程环境下的上下文同步,以及logback日志格式配置。适用于小型微服务架构的链路追踪,便于排查复杂调用场景中的问题。
121 0
|
2月前
|
人工智能 数据可视化 BI
【2025】项目管理API集成工具指南:提升协作效率的17个必备模块
项目管理API集成工具通过连接不同平台,实现数据自动同步与流程自动化,提升团队协作效率。它支持跨系统操作,如任务同步、文档生成及可视化报表,减少人为错误,增强信息流通。随着技术发展,这类工具在企业数字化转型中扮演关键角色。
230 0
|
11月前
|
Web App开发 缓存 测试技术
|
Cloud Native 安全 Anolis
免费、安全、可靠!一站式构建平台 ABS 介绍及实例演示 | 龙蜥技术
一文了解软件包构建、镜像构建、内核源码构建、云原生构建 4 大构建服务。
|
Java 调度
使用ScheduledThreadPoolExecutor进行任务调度
使用ScheduledThreadPoolExecutor进行任务调度
|
自然语言处理 Java 关系型数据库
ElasticSearch 实现分词全文检索 - id、ids、prefix、fuzzy、wildcard、range、regexp 查询
ElasticSearch 实现分词全文检索 - id、ids、prefix、fuzzy、wildcard、range、regexp 查询
331 0
|
存储 SQL 运维
Elasticsearch 查询革新:探索 Wildcard 类型的高效模糊匹配策略
Elasticsearch 查询革新:探索 Wildcard 类型的高效模糊匹配策略
|
存储 负载均衡 算法
ETCD(四)读请求处理过程
ETCD(四)读请求处理过程
331 0

热门文章

最新文章