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类似的操作。

                            
  • 相关阅读:
    “耐撕”团队 2016.03.25 站立会议
    [Java面试二]Java基础知识精华部分.
    [Java面试一]面试复习大纲.
    [Java面试四]Strust2总结及在面试中的一些问题.
    [Java面试五]Spring总结以及在面试中的一些问题.
    [Java面试六]SpringMVC总结以及在面试中的一些问题.
    [Java面试七]Mybatis总结以及在面试中的一些问题.
    Hibernate总结以及在面试中的一些问题.
    脚本语言知识总结.
    浏览器跨域问题.
  • 原文地址:https://www.cnblogs.com/sansui/p/15592772.html
Copyright © 2011-2022 走看看