标签:抛出异常 分布式 动态 aop 无法 ring 分布式事务 配置数据源 默认
spring事务管理可以给我们提供便捷的事务管理,但在使用中需要注意事务不生效的问题。
第一中情况:数据库不支持事务
第二种情况:使用@Transaction注解事务的方法不是public
第三种情况:未抛出异常,异常被捕获了
第四种情况:类中的非事务方法调用了事务方法(Spring事务是通过AOP实现的,类中的非事务方法调用的事务方法时,被调用的方法是类中的方法,不是被代理后的方法,事务没有生效,如果想要实现非事务方法调用事务方法,分别写在不同的类中)
第五种情况:多数据配置导致事务不生效,1.分别配置数据源时,配置事务时需要指定各自对应的事务;2.动态数据源的事务是默认数据源的事务,无法切换,使用时需要注意。
多数据事务管理:分布式事务(推荐)或分别配置数据源自己控制
标签:抛出异常 分布式 动态 aop 无法 ring 分布式事务 配置数据源 默认
原文地址:https://www.cnblogs.com/rgyfred/p/12195542.html