zoukankan      html  css  js  c++  java
  • 在MyBatisPlus整合dynamicdatasource @DS失效

    因为是事务导致的

    解决方案:

    1.删除事务

    2.使用分布式事务

    3.修改事务的传播机制

    3.使用DS的本地事务 @DSTransactional 但切记不可和Spring的事务共存

    附传播机制

    事务传播行为类型

                            
                            

    说明

                            
                            

    PROPAGATION_REQUIRED

                            
                            

    如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

                            
                            

    PROPAGATION_SUPPORTS

                            
                            

    支持当前事务,如果当前没有事务,就以非事务方式执行。

                            
                            

    PROPAGATION_MANDATORY

                            
                            

    使用当前的事务,如果当前没有事务,就抛出异常。

                            
                            

    PROPAGATION_REQUIRES_NEW

                            
                            

    新建事务,如果当前存在事务,把当前事务挂起。

                            
                            

    PROPAGATION_NOT_SUPPORTED

                            
                            

    以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

                            
                            

    PROPAGATION_NEVER

                            
                            

    以非事务方式执行,如果当前存在事务,则抛出异常。

                            
                            

    PROPAGATION_NESTED

                            
                            

    如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

                            
  • 相关阅读:
    集合框架(三)
    集合框架(二)
    集合框架(一)
    第九章 持有你的对象
    UML类图
    用a标签设置锚点
    设计原则
    第八章 接口与内部类
    装配Bean
    第33条:用EnumMap代替序数索引
  • 原文地址:https://www.cnblogs.com/sansui/p/15592772.html
Copyright © 2011-2022 走看看