如果调用的方法在不在同一个service当中,则只需要在子事务当中的方法上方添加注解即可

下方即是:这就话代表:重新开启一个新的事务

@Transactional(propagation = Propagation.REQUIRES_NEW)

如果调用的方法在同一个service的时候需要怎么处理

1、pom包引入
<!-- 引入aop,解决本地事务失效问题 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2、在启动类上添加
// 开启动态代理,使用aspectj作动态代理
@EnableAspectJAutoProxy(exposeProxy = true) 3、在你要开启新事物的方法上添加
@Transactional(propagation = Propagation.REQUIRES_NEW) 4、在主方法当中写 (OrderService就是你这个方法所在位置的接口类名称)
OrderService orderService = (OrderService) AopContext.currentProxy(); 5、通过orderService调用你需要开启新事物的方法。

Transactional事务,事务嵌套的时候,如果主事务出现问题,子事务执行不需要回滚怎么做?的更多相关文章

  1. Spring学习笔记——Spring事务仅仅对执行时异常回滚

    我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚.岂不知Spring的事务默认仅仅有在发生执行时异常即:RunTimeException时才会发生事务,假设一个方法抛出Exception ...

  2. @Transactional回滚问题(try catch、嵌套)

    Spring 事务注解 @Transactional 本来可以保证原子性,如果事务内有报错的话,整个事务可以保证回滚,但是加上try catch或者事务嵌套,可能会导致事务回滚失败.测试一波. 准备 ...

  3. spring事务传播行为之使用REQUIRES_NEW不回滚

    最近写spring事务时用到REQUIRES_NEW遇到一些不回滚的问题,所以就记录一下. 场景1:在一个服务层里面方法1和方法2都加上事务,其中方法二设置上propagation=Propagati ...

  4. Django数据库--事务及事务回滚

    数据库的读写操作中,事务在保证数据的安全性和一致性方面起着关键的作用,而回滚正是这里面的核心操作.Django的ORM在事务方面也提供了不少的API.有事务出错的整体回滚操作,也有基于保存点的部分回滚 ...

  5. 关于SSM项目注解事务不回滚的问题

    <!--扫描service包(包含子包)下所有使用注解的类型--> <context:component-scan base-package="com.song.ssm.s ...

  6. 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

    一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑 ...

  7. spring boot 使用 mybatis 开启事务回滚 的总结

    1.前言 以前没有使用mybatis,可以关闭自动提交,然后做sql操作,对操作进行catch捕获异常, 如果没有异常则commit 提交 ,有异常则 rollback 回滚,新增的数据则删除 ,修改 ...

  8. MySQL(22):事务管理之 事务回滚

    1. 在操作事务的时候,如果发现当前事务操作是不合理的,此时只要还没有提交事务,就可以通过回滚取消当前事务,接下来就针对事务的回滚进行详细讲解. 2. 为了演示回滚操作,在上一个笔记案例基础之上,此时 ...

  9. TransactionScope只要一个操作失败,它会自动回滚,Complete表示事务完成

    实事上,一个错误的理解就是Complete()方法是提交事务的,这是错误的,事实上,它的作用的表示本事务完成,它一般放在try{}的结尾处,不用判断前台操作是否成功,如果不成功,它会自己回滚. #re ...

随机推荐

  1. CentOS7 yum源修改为阿里,配置阿里epel源

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.概念/区分: yum源 什么是yum源: yum是一个在CentOS.RedHat和Fedora操作系统中使用的Shell前端软件包管理器. ...

  2. Redhat7 安装 yum源(亲测有效)

    由于之前安装Redhat7 想安装vsftpd  使用yum   install vsftpd 报错: This system is not registered to Red Hat Subscri ...

  3. SWAKS伪造邮件发送

    一.SWAKS介绍 swaks(SWiss Army Knife Smtp)SMTP瑞士军刀Swaks是由John Jetmore编写和维护的一种功能强大,灵活,可脚本化,面向事务的SMTP测试工具. ...

  4. VS Code通过code runner插件编译运行多个cpp文件 | 链接编译.h文件

    1.多个cpp文件在同一级目录 参考:https://jingyan.baidu.com/article/2f9b480d7ceb3d01ca6cc224.html 此时可通过修改Code Runne ...

  5. 运行 Spring Boot 有哪几种方式?

    打包用命令或者放到容器中运行用 Maven/ Gradle 插件运行直接执行 main 方法运行

  6. Mysql的索引及优化

    一:四种存储引擎: mysql使用 show engines查询其存储引擎: 功  能 MYISAM Memory InnoDB Archive 存储限制 256TB RAM 64TB None 支持 ...

  7. memcacuery cache 相比,有什么优缺点?

    把 memcached 引入应用中,还是需要不少工作量的.MySQL 有个使用方便的 query cache,可以自动地缓存 SQL 查询的结果,被缓存的 SQL 查询可以被反复 地快速执行.Memc ...

  8. 全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中)

    个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判.如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 i ...

  9. 理解OIDC协议和认证机制

    当互联网应用越来越多,每个应用程序都实现了自己的身份存储.认证和授权,用户需要在应用上反复的注册与登录,体验糟糕,用户身份信息无法在多个应用间共享与同步.当使用企业应用时,企业提供了一系列应用,尽管是 ...

  10. AD学习总结

     一.常用快捷键总结 快捷键tab:显示放置的线.元器件.管脚等详细信息(可以修改) 快捷键p:打开放置内容:在元器件原理图中放置能容主要是线等(组合键p+w  启动 "线" 操作 ...