当前位置:   article > 正文

【org.springframework.dao.CannotAcquireLockException异常分析】

org.springframework.dao.cannotacquirelockexception

该问题为一个service中有多个事务执行相同操作,第一个事务未提交,造成第二个事务阻塞

(注意,问题造成原因在下图展示,实际业务逻辑可能较为复杂,代码设计多重嵌套,无法直接定位问题)

在这里插入图片描述

排查思路:

1,找到事务阻塞的代码,本代码位置 “2” 处
2,在代码 “2” 设置断点,打开数据库执行面板,执行 SHOW PROCESSLIST ,打开在执行该断点前查询数据库是否有未执行的事务

在这里插入图片描述

3,在此处引起事务超时执行之前,数据库已存在相同的修改操作,此事务未提交,新的相同的事务再次创建,造成新的事务阻塞,所以全局搜索和上图 “2” 相同的代码,只修改一次,删除重复的事务操作

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/729281
推荐阅读
  

闽ICP备14008679号