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;
     }
-
 }