首页 > 其他分享 >关于RuntimeException与事务

关于RuntimeException与事务

时间:2024-06-19 22:43:33浏览次数:26  
标签:回滚 RuntimeException spring 事务 exception 关于 异常

1.spring的默认回滚策略

当采用@Transactional注解方法抛出RuntimeException时,spring会默认回滚事务

对于检查型异常(即不是RuntimeException子类或其子类),spring默认不会回滚,除非明确指定@Transactional(rollbackFor = MyException.class)

2.简化代码:使用运行时异常不再需要为每一个异常提供rollbackFor属性

3.客户端处理:检查型异常需要try-catch块,而运行时异常不需要

4.什么时候采用runtimeException?业务中一些异常判断、空判断;检查时异常需要一层一层往上throws,不想throws也可以采用

什么时候采用Exception?在中间件中,例如MQ,nacos。如果他们是client连接失败,远程连接超时,server端异常等会采用exception

5.throwable为基类,包含了exception与error

其中error一般是栈溢出,内存溢出之类

exception下包含了runtime,io,sql。也就是说io,sql异常是不会导致事务回滚的,除非指定异常类型

标签:回滚,RuntimeException,spring,事务,exception,关于,异常
From: https://www.cnblogs.com/kun1790051360/p/18257672

相关文章

  • 一些关于马克思主义的电子书
    一些关于马克思主义的书:《马克思主义概论》--作者:李泳主编;徐律,王淑梅,杜金铭副主编出版社:成都:西南交通大学出版社ISBN:781022123X《马克思主义原理》--作者:朱奎保,范竹增等主编出版社:上海:上海交通大学出版社ISBN:7313005237《当代国外马克思主义新思潮研究从西......
  • 【Seata】Seata——分布式事务框架(理论篇)
    目录解释Seata的三大角色Seata的分布式事务解决方案:AT模式整体机制一阶段二阶段完整图例XA模式DTP模型Seata的XA模式Seata-XA的价值小结XA协议的问题TCC模式解释Seata的TCC模式Seata-TCC特点Saga模式Saga的价值Saga状态机基本原理Saga状态机设计器四种模式的对比......
  • 关于netty 一些使用细节
    netty的客户端通常是websoket  但是为了演示也可以用netty做客户端,Channel:可以被理解为数据传输的通道。Pipeline:可以被视为一个由多个工序组成的流水线,负责将数据(事件)传递给流水线上的每个处理工序(handler)。Msg:指的是在流水线上流动的数据。最初输入的数据通常是ByteBuf......
  • Spring WebSocket中关于WebSocket配置类的注意事项
    情况1:如果只需要进行简单的通信,不需要消息代理和STOMP协议支持,那么只需要实现WebSocketConfigurer接口注意:实现的接口是WebSocketConfigurer,使用的注解是@EnableWebSocketimportorg.springframework.context.annotation.Configuration;importorg.springframework.web.socke......
  • oracle事务
    1事务的概念事务是将数据库从一种一致性状态转变为另外一种一致性状态2事务的四个特征(ACID)原子性(Atomicity):事务的所有执行要么一起成功,要么一起失败一致性(Consistency):事务将数据从一种一致性状态转为另外一种一致性状态隔离性(Isolation):事务中所有修改未提交的数据......
  • Elasticsearch 的事务日志
    translog是Elasticsearch保证数据可靠性和灾难恢复的重要组件,每个索引分片配备一个translog,对索引数据的增加、更新操作都会记录在translog中。translog本质上是一个可滚动的日志文件,相比于lucene的写入,日志文件的写入是一个相对轻量的操作,translog会定期地sync到磁......
  • 关于热电偶实际测试用法,知其所以然
    热电偶是对系统、多氯联苯和单个部件进行热表征时常用的工具。它们很受欢迎是因为它们价格便宜,而且相对容易使用。尽管热电偶看起来很简单,但必须注意如何使用它们,因为就像任何其他传感器一样,准确读数的关键在于如何设置和校准它们。热电偶操作的基本原理是:在某些不同金属的两......
  • 关于FPGA对 DDR4 (MT40A256M16)的读写控制 3
    关于FPGA对DDR4(MT40A256M16)的读写控制3语言:VerilgHDL、VHDLEDA工具:ISE、Vivado、QuartusII关于FPGA对DDR4(MT40A256M16)的读写控制3一、引言二、DDR的功能性描述三、SDRAM设备中模式寄存器的可编程性四、重要的模式寄存器之MR0(1)BurstLength、Type、Order......
  • 关于MySQL数据库基础学习心得与体会
    引言在当今的信息化时代,数据已经成为企业和社会运行的重要驱动力。作为数据的载体,数据库管理系统(DBMS)扮演着至关重要的角色。MySQL作为最流行的开源关系型数据库管理系统之一,因其高性能、可靠性、易用性等特点,被广泛应用于各种规模的系统中。在学习了MySQL数据库基础课程之后,......
  • GBASE8s数据库关于锁的认识和检查监控
    1.锁的概念1.1.gbase8s的常规锁gbase8s数据库的锁分为两种:共享锁和排他锁共享锁:顾名思义,共享锁就是可以同时由多个用户同时获取到的锁资源一个数据(行、页、表)被加上共享锁,则同时也可以被其他用户或者session添加共享锁,但是数据加上共享锁后,不能被更新锁的添加不是单独添......