Spring事务报错Transaction synchronization is not active
首先确认调用方法上是否添加了@Transactional 注解
1.在需要事务管理的地方加@Transactional 注解。@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
2.@Transactional 注解只能应用到 public 可见度的方法上。 如果你在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错, 但是这个被注解的方法将不会展示已配置的事务设置。
3.注意仅仅 @Transactional 注解的出现不足于开启事务行为,它仅仅 是一种元数据。必须在配置文件中使用配置元素,才真正开启了事务行为。(spring配置文件中,开启声明式事务)
4.通过 元素的 “proxy-target-class” 属性值来控制是基于接口的还是基于类的代理被创建。如果 “proxy-target-class” 属值被设置为 “true”,那么基于类的代理将起作用(这时需要CGLIB库cglib.jar在CLASSPATH中)。如果 “proxy-target-class” 属值被设置为 “false” 或者这个属性被省略,那么标准的JDK基于接口的代理将起作用。
5.Spring团队建议在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。在接口上使用 @Transactional 注解,只能当你设置了基于接口的代理时它才生效。因为注解是 不能继承 的,这就意味着如果正在使用基于类的代理时,那么事务的设置将不能被基于类的代理所识别,而且对象也将不会被事务代理所包装。
6.@Transactional的事务开启 ,或者是基于接口的 或者是基于类的代理被创建。所以在同一个类中一个无事务的方法调用另一个有事务的方法,事务是不会起作用的。
特别注意第6点:同一个类中一个无事务的方法调用另一个有事务的方法,事务是不会起作用的。这一点引起了我的注意,可能我的加了注解@Transactional的departingCar方法也是被类里另一个没有开启事务的方法调用,如果真的是这样,所有一切都解释的通了。
Spring事务报错Transaction synchronization is not active相关推荐
- Spring事务报错: org.springframework.transaction.UnexpectedRollbackException
异常信息: 出现了不可预知的回滚异常,因为事务已经被标志位只能回滚,所以事务回滚了. org.springframework.transaction.UnexpectedRollbackExcepti ...
- 记一次事务报错问题 Transaction synchronization is not active
问题场景 在一次请求的返回结果中出现了这个错误信息"Transaction synchronization is not active",意思是"事务同步器没有激活&qu ...
- SAP QM 执行事务代码QS51维护使用决策的选择集,系统报错 – Transaction no longer valid for catalog ‘3’ -
SAP QM 执行事务代码QS51维护使用决策的选择集,系统报错 – Transaction no longer valid for catalog '3' - 执行事务代码QS51,试图为工厂NMD ...
- SAP RETAIL 执行事务代码WRP1,报错-Transaction WRP1 cannot be executed-
SAP RETAIL 执行事务代码WRP1,报错-Transaction WRP1 cannot be executed- 执行事务代码WRP1试图为物料触发自动补货订单,系统报错:Transacti ...
- 解决Spring Boot报错Mapped Statements collection already contains value for...Error while adding the mapp
解决Spring Boot报错Mapped Statements collection already contains value for...Error while adding the mapp ...
- Spring data报错:Inferred type 'S' for type parameter 'S' is not within its bound;
Spring data报错:Inferred type 'S' for type parameter 'S' is not within its bound; 参照 org.springframewo ...
- Spring aop报错:com.sun.proxy.$Proxyxxx cannot be cast to yyy
在使用Spring AOP时,遇到如下的错误: Exception in thread "main" java.lang.ClassCastException: com.sun.p ...
- Spring Boot 报错ThreadPoolTaskExecutor : Shutting down ExecutorService ‘applicationTaskExecutor‘
问题 Spring Boot 报错ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor' 原因 ...
- 启动Spring项目报错,Springboot启动报错 Disconnected from the target VM 解决过程
启动Spring项目报错,Springboot启动报错 Disconnected from the target VM 解决过程 大概率是缺少了一下依赖 <dependency><g ...
最新文章
- CA ARCserve Backup系列(3)—安装代理(Linux篇)
- 关于多路复用技术的思考
- 怎样取SAP中的业务对象状态
- wxWidgets:wxHTML 概述
- 【代码块】代码块使用注意事项和细节讨论
- 上传本地项目到gitee_用git上传本地文件到码云gitee的方法
- .net一个函数要用另一个函数的值_Mysql:条件判断函数-CASE WHEN、IF、IFNULL详解
- promise的状态值_什么是Promise,Promise的三种状态
- 粗谈MySQL事务的特性和隔离级别
- 漫谈CMS:ZOOMLA、NETCMS、风讯、动易异同
- c语言1颗*到5颗*,刚学c语言,老师让用if编一个五个数字从大到小的排序,有那个大神能帮我,谢谢啦...
- 深度学习:Image Object Detection方法
- WORDNET与HOWNET之比较
- 开源面向对象数据库 db4o 之旅,第 1 部分: 初识 db4o
- 从零实现加密隧道(二):socks5 协议详解
- 单片机最小系统着实让人着迷
- 手把手教你实现嵌入式SNMP代理第1部分-熊健-专题视频课程
- 【9102年】考研还是找工作?分享看完心得体会(如果你错过了月亮,那就不要错过星星了)
- 根据给定的三边,判断能否则组成一个三角形若能用这三个数作为边长组成三角形( 任意两边之和大于第三边),能组成三角形计算并输出该三角形的面积,否则输出Can‘t。 (提示:Can‘t输出直接放到双引号中
- yolo3训练人脸检测模型
热门文章
- 工业交换机的单模多模是什么意思?
- PDPS软件:带颜色的机器人工作站二维布局图JT格式文件转换方法
- html5 在线 ppt 制作软件,HTML5 幻灯片相册制作工具(HTML5 Slideshow Maker)
- Html+Tomcat+Http协议介绍
- 做前端的你,如何克服技术焦虑?
- 微信小程序 --- 不在以下合法域名列表中请参考文档
- 怎么控制latex插图的位置_[转载](转)LaTeX 控制图片的位置
- win10+anaconda+pycharm python画图完整过程
- 中位数 POJ3784
- 微信小程序笔记、小程序打印