Spring+mybatis整合声明式事务异常之org.springframework.transaction.TransactionTimedOutException: Transaction ..
1、异常信息
org.springframework.transaction.TransactionTimedOutException: Transaction timed out: deadline was Tue Jul 23 18:06:32 CST 2019...
2、示例代码
@Service
public class UserServiceImpl implements UserService{// 加载mapper@Autowiredprivate UserMapper usermapper;@Transactional(propagation=Propagation.REQUIRED,timeout=5) // 启用事务管理public void myTransaction(User addUser, User updateuser) {System.out.println("---- UserServiceImpl myTrasaction方法开始 ");usermapper.add(addUser);try {Thread.sleep(7000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}usermapper.update(updateuser);System.out.println("---- UserServiceImpl myTrasaction方法结束 ");}}/**
* 单元测试代码
*/@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-transaction-annotation.xml")
public class TestTransaction {@Autowiredprivate UserService userService;@Testpublic void test1(){User addUser = new User("wuyifan","吴亦凡","123456789",1,new Date(),"13688889999","西安市长安区成府路207号",1,1,new Date(),null,null);User updateuser = new User();updateuser.setId(81);updateuser.setUserCode("dzq");updateuser.setUserName("邓紫棋");userService.myTrasaction(addUser, updateuser);}}
3、错误原因
事务超时
@Transactional(propagation=Propagation.REQUIRED,timeout=5) 指定事务的运行时间是5秒,而myTransaction中线程休眠时间就有7秒,所以事务的运行时间不够,因此报错。
4、解决方法
可以设置timeout的值更大,或者可以不设置,使用默认值(timeout的默认值是none)
注意:如果事务直接提交,没有报错,可能就是你的jar包版本的问题。
我的版本:
myabtis 3.4.5
myabtis-spring 1.3.0
此文希望可以帮助到大家。如有错误,请指教。
如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读。
Spring+mybatis整合声明式事务异常之org.springframework.transaction.TransactionTimedOutException: Transaction ..相关推荐
- spring+mybatis之声明式事务管理初识(小实例)
前几篇的文章都只是初步学习spring和mybatis框架,所写的实例也都非常简单,所进行的数据访问控制也都很简单,没有加入事务管理.这篇文章将初步接触事务管理. 1.事务管理 理解事务管理之前,先通 ...
- Spring AOP实现声明式事务代码分析
众所周知,Spring的声明式事务是利用AOP手段实现的,所谓"深入一点,你会更快乐",本文试图给出相关代码分析. AOP联盟为增强定义了org.aopalliance.aop.A ...
- Spring源码——声明式事务流程
前言 最近回顾了一下Spring源码,准备用思维导图的方式简单的将整个源码内容的流程展示出来,思维导图.图片等文件更新在https://github.com/MrSorrow/spring-frame ...
- spring 注解开启声明式事务
spring开启声明式事务: 导入依赖: pom.xml <dependencies><!-- https://mvnrepository.com/artifact/org.spri ...
- spring——使用注解声明式事务整合jdbc——GRUD
准备阶段: pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- spring——使用xml声明式事务整合jdbc——GRUD
准备阶段: pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- Spring如何用“声明式事务”保护亿万数据安全?【万字解决并发冲突】
Hello,你好呀,我是灰小猿,一个超会写bug的程序猿
- spring声明式事务
11.声明式事务 11.1 事务回顾 把一组业务当做一个业务来坐,要么都成功,要么都失败! 事物在项目开发中的重要性不言而喻,关系到数据的一致性文件 确保完整性和一致性 事务的ACID原则 原子性(A ...
- SpringMVC、MyBatis声明式事务管理
2019独角兽企业重金招聘Python工程师标准>>> 采用的基本搭建环境:SpringMVC.MyBatis.MySQL.tomcat Spring事务管理分解了传 ...
最新文章
- 1亿参数4万样本BERT仍听不懂人话,我们离通用NLP能还有多远?
- MySQL 调优基础:Linux内存管理 Linux文件系统 Linux 磁盘IO Linux网络
- oracle 10g 4031
- pycryptodom的源码安装
- jQuery向未来的元素添加事件处理程序(绑定事件)
- php中节点值怎么获取,php – 节点更新:获取旧值
- 使用.NET Core 2.1,RabbitMQ,SignalR,EF Core 2.1和Angular 6开发微服务
- 矢量绘图软件 android,sai绘图软件官方
- 【时间序列】动态时间规整(DTW)算法简介(python)
- 制作Win10 U盘版移动便携系统
- cBioPortal数据库使用
- java 调用 pb dll_[转载]一个java调用delphi写的dll问题,郁闷了一天一晚解决
- pbs转换html,pbs 脚本实例说明.docx
- 金属塑性成形计算机模拟仿真,金属塑性成形计算机模拟的若干进展
- c语言头文件inistd,Windows10 VS2017 C++ ini解析(使用simpleini头文件)
- stm32视频教程分享:心率检测仪的设计与实现
- Orthanc的REST API — Orthanc Book文档
- 51单片机之——串口通信(含实现部分)
- 第十六次ScrumMeeting博客
- [转]尚学堂科技 - 马士兵老师-JAVA自学之路
热门文章
- 《C陷阱与缺陷》----词法“陷阱”
- 计算机毕业设计SSM毕业生导师双选系统【附源码数据库】
- linux的免费虚拟机,Win10下的Linux+非虚拟机+非双系统+可靠教程+免费
- 如何在第三方软件加载星图地球数据云影像?
- c执行cmd pdf2swf_swftools实现pdf文档转swf文件 解决中文乱码
- WCG06意大利全球电竞总决赛视频汇总
- 卷二:图形编程MFC第1篇:画笔、画刷、
- 监听微信手Q的挂起事件(visibilitychange)
- python怎么进行分数运算_Python中的分数运算
- Rabbitmq手动未确认解决方案