org.springframework.dao.CannotAcquireLockException解决
2024-09-22 01:11:37
java.sql.SQLException: Lock wait timeout exceeded
该异常为一个service中调用了另一个service,两个service对同一表进行操作,造成事务嵌套,从而死锁。
解决办法:在当前方法前加入@Transactional(propagation=Propagation.SUPPORTS)
@Transactional(propagation=Propagation.REQUIRED)
// 容器不为这个方法开启事务
@Transactional(propagation=Propagation.NOT_SUPPORTED)
// 不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务
@Transactional(propagation=Propagation.REQUIRES_NEW)
// 必须在一个已有的事务中执行,否则抛出异常
@Transactional(propagation=Propagation.MANDATORY)
// 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)
@Transactional(propagation=Propagation.NEVER)
// 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
@Transactional(propagation=Propagation.SUPPORTS)
最新文章
- python Function
- RESTful API 设计指南 (转)
- Ubuntu 14.04 安装pdf阅读器
- ps基础知识
- 利用JSDOC快速生成注释文档,非常棒。
- VMnet1和V8
- PHP 获取图像信息 getimagesize 函数
- 对C#对象的Shallow、Deep Cloning认识【转】
- AJAX 数据库实例
- SpringMVC整合Tiles框架
- 关于使用regsvr32命令注册ActiveX控件失败的解决办法
- NDK(12)Jni常用函数
- SegmentReader 批量 dump
- phpcms:六、频道页(category.html)
- 把一个select查询结果插入到一个表(可选指定字段和值实例)
- Solr 教程
- CEPH RGW集群和bucket的zone group 不一致导致的404异常解决 及 使用radosgw-admin metadata 命令设置bucket metadata 的方法
- AppDir【创建缓存目录】
- 冰水挑战 HDU - 6495
- java Spring 各版本jar包下载地址
热门文章
- Pthreads 环境配置,VisualStudio
- 解决no-session延迟加载问题
- kubernetes 示例 hello world
- hue database is locked
- Python3 abs() 函数
- TouchEvent里的targetTouches、touches、changedTouches的区别的具体体现是?
- leetcode 63 不同的路径2
- 使用mybatis开发Dao的原始方法,实现根据用户id查询一个用户信息 、根据用户名称模糊查询用户信息列表 、添加用户信息等功能
- memcache can't run as root without the -u switch
- Django和Ajax