【问题标题】:Schema based multitenancy with maria DB, JPA and spring boot 1.5.4使用 maria DB、JPA 和 spring boot 1.5.4 的基于模式的多租户
【发布时间】:2017-07-04 04:04:02
【问题描述】:

我已经使用单个连接池实现了基于模式的多租户: Spring Boot 1.5.4、Spring 数据源、MariaDB、JPA

我已包含以下多租户文件: CurrentTenantIdentifierResolver -- 识别当前租户 MultiTenantConnectionProvider -- 切换模式和释放连接 TenantInterceptor -- 拦截器 TenantContext -- 线程本地上下文 应用程序属性 -- 数据源属性

如果是 MYSQL(使用 mysql 驱动程序和方言): 如果我使用 MySQL 数据库,我的代码工作正常。我每次都能连接到正确的租户。

如果是 MariaDB(使用 maria DB 驱动程序和方言): 当我第一次调用服务器时,我从正确的租户(T1)获取数据。之后,如果我更改租户(T2)并进行服务器调用,我将获取第一个租户(T1)的数据,这是错误的。 我解决了这个问题。如果我在MultiTenantConnectionProvider.java 中跳过connecion.close,代码会正常工作。但是跳过connection.close 不是好方法,而且在生产环境中也行不通。

请提供一些输入,为什么相同的代码在 MySql 上运行良好但在 Maria DB 上运行不正常???

【问题讨论】:

    标签: mysql hibernate spring-boot mariadb


    【解决方案1】:

    解决方案: 将 mariadb 驱动程序更新到 2.0.3 版

    <properties> 
        <hibernate.version>5.2.8.Final</hibernate.version> 
        <mariadb.version>2.0.3</mariadb.version>
    </properties>
    

    【讨论】:

      猜你喜欢
      • 2020-02-02
      • 2014-04-07
      • 2018-02-20
      • 2019-06-23
      • 2017-11-17
      • 2012-03-31
      • 2012-04-01
      • 1970-01-01
      • 2015-05-08
      相关资源
      最近更新 更多