From 8fd0dd5735d310927b19980fc099ef07bf18cfa2 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Fri, 31 Mar 2023 14:31:18 +0200 Subject: [PATCH] RED-4515: Do not set schema when create datasource for tenant --- ...aSourceBasedMultiTenantConnectionProvider.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/mulitenancy/DynamicDataSourceBasedMultiTenantConnectionProvider.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/mulitenancy/DynamicDataSourceBasedMultiTenantConnectionProvider.java index da18664ea..01e32ea64 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/mulitenancy/DynamicDataSourceBasedMultiTenantConnectionProvider.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/mulitenancy/DynamicDataSourceBasedMultiTenantConnectionProvider.java @@ -63,7 +63,7 @@ public class DynamicDataSourceBasedMultiTenantConnectionProvider extends Abstrac numberOfSchemasForSameDataSource++; } } - if (numberOfSchemasForSameDataSource <= 1) { + if (numberOfSchemasForSameDataSource == 0) { HikariDataSource ds = (HikariDataSource) removal.getValue().getDataSource(); ds.close(); // tear down properly log.info("Closed datasource: {}", ds.getPoolName()); @@ -99,7 +99,6 @@ public class DynamicDataSourceBasedMultiTenantConnectionProvider extends Abstrac var jdbcUrl = JDBCUtils.buildJdbcUrl(tenant.getDatabaseConnection()); ds.setJdbcUrl(jdbcUrl); - ds.setSchema(tenant.getDatabaseConnection().getSchema()); ds.setPoolName(jdbcUrl + TENANT_POOL_NAME_SUFFIX); log.info("Configured datasource: {}", ds.getPoolName()); @@ -139,6 +138,12 @@ public class DynamicDataSourceBasedMultiTenantConnectionProvider extends Abstrac } + @Override + public void releaseAnyConnection(Connection connection) throws SQLException { + connection.close(); + } + + @Override public void releaseConnection(String tenantIdentifier, Connection connection) throws SQLException { @@ -146,4 +151,10 @@ public class DynamicDataSourceBasedMultiTenantConnectionProvider extends Abstrac releaseAnyConnection(connection); } + + @Override + public boolean supportsAggressiveRelease() { + return false; + } + }