第一步:获取事务状态,判断当前事务线程是否存在。
第二步:如果当前事务的传播行为为PROPAGATION_REQUIRES_NEW,挂起当前线程绑定的事务,取消当前事务的sessionHolder和connectionHolder,并保存该事务的sessionHolder和connectionHolder信息以便后期恢复保存点。
第三步:开启新的事务,并把该事务绑定到当前线程,生成新的sessionHolder和connectionHolder。
第四步:提交新的事务,并恢复保存点,也就是之前被挂起的sessionHolder和connectionHolder。
相关文章
- 【十六】Spring Boot之事务(事务传播机制、嵌套事务、事务隔离机制详解)
- spring事务传播属性与隔离级别
- Spring 事务隔离级别和传播行为
- Spring中propagation的7种事务配置
- 【Java面试系列】Spring Boot应用中的事务传播机制与分布式事务实践详解 - 3-5年Java开发必备知识
- Spring中利用@Value注解读取yml中的map配置
- spring中service调用service的事务控制
- Spring声明式事务@Transactional传播行为
- Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别
- required_new spring事务传播行为无效碰到的坑!