You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/04/08 11:50:15 UTC
[shardingsphere] branch master updated: optimize code for GlobalDataSourceRegistry (#15876)
This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 0b68a392d0b optimize code for GlobalDataSourceRegistry (#15876)
new b4dfdbedc6e Merge pull request #16641 from galaxylqx/datasourceregistry
0b68a392d0b is described below
commit 0b68a392d0b0814c2efd9c2a6f4edafa42dd62f5
Author: galaxylei <ga...@tencent.com>
AuthorDate: Thu Apr 7 20:01:50 2022 +0800
optimize code for GlobalDataSourceRegistry (#15876)
---
.../infra/datasource/pool/creator/DataSourcePoolCreator.java | 6 +++---
.../infra/datasource/props/DataSourceProperties.java | 1 -
.../infra/datasource/registry/GlobalDataSourceRegistry.java | 10 ++++++----
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
index 499498536e0..594bea819b1 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/creator/DataSourcePoolCreator.java
@@ -58,8 +58,8 @@ public final class DataSourcePoolCreator {
*/
public static DataSource create(final DataSourceProperties dataSourceProps) {
if (isCanBeDataSourceAggregation(dataSourceProps)) {
- if (GlobalDataSourceRegistry.getInstance().getDataSourceCache().containsKey(dataSourceProps.getInstance())) {
- return GlobalDataSourceRegistry.getInstance().getDataSourceCache().get(dataSourceProps.getInstance());
+ if (GlobalDataSourceRegistry.getInstance().getCachedDataSources().containsKey(dataSourceProps.getInstance())) {
+ return GlobalDataSourceRegistry.getInstance().getCachedDataSources().get(dataSourceProps.getInstance());
}
}
DataSource result = createDataSource(dataSourceProps.getDataSourceClassName());
@@ -74,7 +74,7 @@ public final class DataSourcePoolCreator {
setConfiguredFields(dataSourceProps, dataSourceReflection);
}
if (isCanBeDataSourceAggregation(dataSourceProps)) {
- GlobalDataSourceRegistry.getInstance().getDataSourceCache().put(dataSourceProps.getInstance(), result);
+ GlobalDataSourceRegistry.getInstance().getCachedDataSources().put(dataSourceProps.getInstance(), result);
}
return result;
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/props/DataSourceProperties.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/props/DataSourceProperties.java
index 661f40973b3..7bcbab0d18c 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/props/DataSourceProperties.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/props/DataSourceProperties.java
@@ -201,5 +201,4 @@ public final class DataSourceProperties {
JdbcUrl jdbcUrl = parseStandardJdbcUrlParserByJdbcUrl(parseJdbcUrl());
return jdbcUrl.getDatabase();
}
-
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/registry/GlobalDataSourceRegistry.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/registry/GlobalDataSourceRegistry.java
index a1481ff1579..db1ec02e23a 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/registry/GlobalDataSourceRegistry.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datasource/registry/GlobalDataSourceRegistry.java
@@ -26,18 +26,21 @@ import javax.sql.DataSource;
import java.util.LinkedHashMap;
import java.util.Map;
+/**
+ * Global data source registry.
+ */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-@Setter
@Getter
+@Setter
public final class GlobalDataSourceRegistry {
private static final GlobalDataSourceRegistry INSTANCE = new GlobalDataSourceRegistry();
- private volatile Map<Instance, DataSource> dataSourceCache = new LinkedHashMap<>();
+ private volatile Map<Instance, DataSource> cachedDataSources = new LinkedHashMap<>();
private volatile Map<String, String> dataSourceSchema = new LinkedHashMap<>();
- private boolean dataSourceAggregationEnabled;
+ private volatile boolean dataSourceAggregationEnabled;
/**
* Get global data source.
@@ -47,5 +50,4 @@ public final class GlobalDataSourceRegistry {
public static GlobalDataSourceRegistry getInstance() {
return INSTANCE;
}
-
}