码迷,mamicode.com
首页 > 编程语言 > 详细

spring annotation(事务)使用注意事项

时间:2020-01-15 11:33:21      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:抛出异常   分布式   动态   aop   无法   ring   分布式事务   配置数据源   默认   

spring事务管理可以给我们提供便捷的事务管理,但在使用中需要注意事务不生效的问题。

第一中情况:数据库不支持事务

第二种情况:使用@Transaction注解事务的方法不是public

第三种情况:未抛出异常,异常被捕获了

第四种情况:类中的非事务方法调用了事务方法(Spring事务是通过AOP实现的,类中的非事务方法调用的事务方法时,被调用的方法是类中的方法,不是被代理后的方法,事务没有生效,如果想要实现非事务方法调用事务方法,分别写在不同的类中)

第五种情况:多数据配置导致事务不生效,1.分别配置数据源时,配置事务时需要指定各自对应的事务;2.动态数据源的事务是默认数据源的事务,无法切换,使用时需要注意。

 

多数据事务管理:分布式事务(推荐)或分别配置数据源自己控制

spring annotation(事务)使用注意事项

标签:抛出异常   分布式   动态   aop   无法   ring   分布式事务   配置数据源   默认   

原文地址:https://www.cnblogs.com/rgyfred/p/12195542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!