基于模式的多租户与maria DB,JPA和spring boot 1.5.4

时间:2017-07-04 04:04:03

标签: mysql hibernate spring-boot mariadb

我使用单连接池实现了基于模式的多租户: Spring Boot 1.5.4,Spring Data Source,MariaDB,JPA

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

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

对于MariaDB(使用maria DB驱动程序和方言): 当我第一次拨打服务器时,我从右租户(T1)获取数据。之后,如果我更改我的租户(T2)并进行服务器调用,我将获取第一个租户(T1)的数据,这是错误的。 我找到了解决这个问题的方法。如果我在connecion.close中跳过MultiTenantConnectionProvider.java,代码将正常运行。但是跳过connection.close并不是一种好方法,它在生产中不起作用。

请提供一些输入,为什么相同的代码可以正常使用MySql而不能使用Maria DB ???

1 个答案:

答案 0 :(得分:0)

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

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