This commit is contained in:
2023-07-14 16:45:39 +08:00
parent 23d47f8d63
commit a9b02b5a4d
4 changed files with 36 additions and 5 deletions

View File

@ -56,4 +56,8 @@ public class TenantDbTypeContext {
public static void set(String dbType) {
set(TenantConstant.DEFAULT_TENANT_ID, dbType);
}
public static void remove(String tenantId) {
TENANT_DATASOURCE_TYPE_MAP.remove(tenantId);
}
}

View File

@ -51,6 +51,18 @@ public class DatasourceUtil {
dynamicDataSourceContext.freshDataSource(PrimaryDatasourceContext.getAll());
}
public static void removePrimaryDatasource(String tenantId) {
// 删除数据源类型
TenantDbTypeContext.remove(tenantId);
// 关闭数据源
((DruidDataSource)PrimaryDatasourceContext.get(tenantId)).close();
// 删除数据源
PrimaryDatasourceContext.remove(tenantId);
// 刷新数据源
dynamicDataSourceContext.freshDataSource(PrimaryDatasourceContext.getAll());
log.info("移除租户[{}]主数据源成功",tenantId);
}
public static Object buildDataSource(String tenantId, DynamicDataSource dynamicDataSource) {
log.debug("正在创建数据源DataSource, 租户: {}", tenantId);
boolean connect = JdbcUtil.checkConnect(dynamicDataSource.getDriver(), dynamicDataSource.getUrl(), dynamicDataSource.getUsername(), dynamicDataSource.getPassword());