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