首页 > 其他分享 >事务注意事项

事务注意事项

时间:2023-11-17 11:48:39浏览次数:33  
标签:事务 Transactional 线程 注意事项 注解 方法 public

校验事务是否生效

debug 方法: org.springframework.transaction.interceptor.TransactionAspectSupport#invokeWithinTransaction

锁跟事务一起使用时

一般业务来说 都是锁的范围要包含事务的范围,不要等锁释放了,再提交事务;
如果锁是使用注解方式 跟@Transactional 一起使用 要注意注解的执行顺序

正确执行顺序:

  1. 确保先拿到锁
  2. 开启事务
  3. 提交事务 or 回滚事务
  4. 释放锁

事务不生效

  1. @Transactional 修饰的方法要为public 且不是final (spring要求被代理方法必须是public)
  2. 方法被this调用(注解不生效)

其他注意点:

  1. 事务修饰的方法中,又开新线程去select ,新线程会拿不到数据的
  2. 事务中避免调用外部接口,导致产生大事务,长时间占用数据库连接

标签:事务,Transactional,线程,注意事项,注解,方法,public
From: https://www.cnblogs.com/eiffelzero/p/17838278.html

相关文章

  • 分布式事务处理方案大 PK!
    首先先说一个大原则:分布式事务能不用就不要用,毕竟这个用起来还是有一些麻烦的。当然,不用和不会用可是两码事。1.分布式事务基础理论学习分布式事务,有一些基础理论需要我们先来了解下。1.1本地事务本地事务是指将多条语句作为一个整体进行操作的功能,通过数据库事务可以确保该事务......
  • 第8期ThreadX视频教程:应用实战,将裸机工程移植到RTOS的任务划分,驱动和应用层交互,中断DM
     这个是我们初学RTOS面临的最直接问题,很多时候,简单的RTOS机制明白了,API也会调用了,就是添加到RTOS后,总感觉那里不对劲,怎么使用才是正确姿势。针对这些问题,本期视频教程,我们ThreadX内核教程穿插一期实战应用。使用RTOS要充分发挥其高效的多任务管理机制和实时性,这样也是我们采用RTOS......
  • Java登陆第七天——SQL之事务
    事务在日常生活中,事务就是一件件要做的事情。在数据库中,事务指的是一条条SQL语句。事务的功能事务用于保证数据的一致性,它由一组DML语句组成。该组DML语句要么全部成功,要么全部失败。事务就是为了解决上述问题。事务的解释如果直接回到记录点A。A后的记录点都会被删除。......
  • MySQL事务
    MySQL事务事务是什么事务是一个操作序列,这些操作要么都做,要么都不做,是数据库环境中不可分割的逻辑工作单位。事务和程序是两个不同的概念,一般一个程序可包含多个事务。在SQL语言中,事务定义的语句有以下三条:1)BEGINTRANSACTION:事务开始。2)COMMIT:事务提交。该操作表示事务成功地......
  • 数据库事务是什么?事务的四大特性是什么?
    数据库事务是什么?事务的四大特性是什么?1.数据库事务事务是一组原子性的SQL语句,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组操作的全部语句,那么就执行该组查询。如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,......
  • mysql跨库事务XA
    XA的性能很低,但是没得选的时候,也是个方案<?PHP$dbtest1=newmysqli("127.0.0.1","public","public","dbtest1")ordie("dbtest1连接失败");$dbtest2=newmysqli("127.0.0.1public","public","dbtest2&qu......
  • MYSQL 事务的底层原理
    事务的底层原理在事务的实现机制上,MySQL采用的是WAL:Write-aheadlogging,预写式日志,机制来实现的。在使用WAL的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含redo和undo两部分信息。为什么需要使用WAL,然后包含redo和undo信息呢?举个例子,如果一......
  • MYSQL 事务的底层原理 | 京东物流技术团队
    事务的底层原理在事务的实现机制上,MySQL采用的是WAL:Write-aheadlogging,预写式日志,机制来实现的。在使用WAL的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含redo和undo两部分信息。为什么需要使用WAL,然后包含redo和undo信息呢?举个例子,如果一个系......
  • MySQL学习(16)事务隔离级别
    事务隔离级别前言一次事务的执行,就是一次状态的转换。事务执行后,必须从一个一致性状态转换到下一个一致性状态,如果事务发生中止,也要回滚到最初的一致性状态。什么是事务隔离级别系统通过一些方法,使得并发执行的事务按照一定的顺序单独执行,或者最终执行的效果和单独执行一样。......
  • 安装表面应变计的方法及注意事项
    安装表面应变计的方法及注意事项表面应变计被广泛用于水利工程和混凝土结构中,用于测量埋设点的线性变形(应变)和应力,同时也可以测量温度。它们可以分为表面安装式和埋入式两种。 一、埋入式表面应变计1、混凝土应变计的安装首先根据设计要求确定应变计的埋设位置和方向。为保......