This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 a9cf625e936 Refactor ShardingSphereDataSource.close() (#28212)
a9cf625e936 is described below

commit a9cf625e93623119b606c0d26e88a337f7f6ed17
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Aug 21 23:48:29 2023 +0800

    Refactor ShardingSphereDataSource.close() (#28212)
    
    * Remove StorageUnitMetaData.storageTypes
    
    * Refactor ShardingSphereDataSource.close()
---
 .../core/datasource/ShardingSphereDataSource.java  | 22 +++++-----------------
 .../datasource/ShardingSphereDataSourceTest.java   | 11 -----------
 2 files changed, 5 insertions(+), 28 deletions(-)

diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
index 7004f2f6075..3257becc8d5 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
@@ -98,17 +98,11 @@ public final class ShardingSphereDataSource extends 
AbstractDataSourceAdapter im
         return getConnection();
     }
     
-    /**
-     * Close data sources.
-     *
-     * @param dataSourceNames data source names to be closed
-     * @throws SQLException SQL exception
-     */
-    // TODO Replace public to private?
-    public void close(final Collection<String> dataSourceNames) throws 
SQLException {
-        Map<String, DataSource> dataSourceMap = 
contextManager.getDataSourceMap(databaseName);
-        for (String each : dataSourceNames) {
-            close(dataSourceMap.get(each));
+    @Override
+    public void close() throws SQLException {
+        contextManagerDestroyedCallback(databaseName);
+        for (DataSource each : 
contextManager.getDataSourceMap(databaseName).values()) {
+            close(each);
         }
         contextManager.close();
     }
@@ -125,12 +119,6 @@ public final class ShardingSphereDataSource extends 
AbstractDataSourceAdapter im
         }
     }
     
-    @Override
-    public void close() throws SQLException {
-        contextManagerDestroyedCallback(databaseName);
-        close(contextManager.getDataSourceMap(databaseName).keySet());
-    }
-    
     private void contextManagerDestroyedCallback(final String databaseName) {
         for (ContextManagerLifecycleListener each : 
ShardingSphereServiceLoader.getServiceInstances(ContextManagerLifecycleListener.class))
 {
             try {
diff --git 
a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
 
b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
index b6b2f5e54c8..71387956c18 100644
--- 
a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
+++ 
b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
@@ -138,17 +138,6 @@ class ShardingSphereDataSourceTest {
         }
     }
     
-    @Test
-    void assertCloseWithDataSourceNames() throws SQLException {
-        try (HikariDataSource dataSource = createHikariDataSource()) {
-            ShardingSphereDataSource actual = 
createShardingSphereDataSource(dataSource);
-            actual.close(Collections.singleton("ds"));
-            Map<StorageNode, DataSource> dataSourceMap = 
getContextManager(actual).getMetaDataContexts().getMetaData()
-                    
.getDatabase(DefaultDatabase.LOGIC_NAME).getResourceMetaData().getStorageNodeDataSources();
-            assertTrue(((HikariDataSource) dataSourceMap.get(new 
StorageNode("ds"))).isClosed());
-        }
-    }
-    
     @SneakyThrows(ReflectiveOperationException.class)
     private ContextManager getContextManager(final ShardingSphereDataSource 
dataSource) {
         return (ContextManager) 
Plugins.getMemberAccessor().get(ShardingSphereDataSource.class.getDeclaredField("contextManager"),
 dataSource);

Reply via email to