This is an automated email from the ASF dual-hosted git repository.
panjuan 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 94b3cc1 Mode auto close to ContextManager (#11897)
94b3cc1 is described below
commit 94b3cc1304d4ea432797285aa31cd5caaf00c9c5
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Aug 19 12:54:03 2021 +0800
Mode auto close to ContextManager (#11897)
---
.../governance/context/ClusterContextManager.java | 6 ++++++
.../shardingsphere/governance/core/mode/ClusterMode.java | 5 -----
.../apache/shardingsphere/infra/mode/ShardingSphereMode.java | 2 +-
.../shardingsphere/infra/mode/impl/memory/MemoryMode.java | 4 ----
.../infra/mode/impl/standalone/StandaloneMode.java | 5 -----
.../shardingsphere/infra/context/manager/ContextManager.java | 2 +-
.../infra/context/manager/impl/MemoryContextManager.java | 5 +++++
.../infra/context/manager/impl/StandaloneContextManager.java | 5 +++++
.../infra/context/metadata/MetaDataContexts.java | 7 +------
.../infra/context/metadata/MetaDataContextsTest.java | 11 -----------
.../driver/jdbc/core/datasource/ShardingSphereDataSource.java | 3 +--
.../datasource/GovernanceShardingSphereDataSource.java | 3 +--
12 files changed, 21 insertions(+), 37 deletions(-)
diff --git
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/ClusterContextManager.java
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/ClusterContextManager.java
index dfe4e36..19e3236 100644
---
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/ClusterContextManager.java
+++
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/ClusterContextManager.java
@@ -463,4 +463,10 @@ public final class ClusterContextManager implements
ContextManager {
public Optional<ShardingSphereLock> getLock() {
return Optional.ofNullable(lock);
}
+
+ @Override
+ public void close() throws Exception {
+ metaDataContexts.getExecutorEngine().close();
+ registryCenter.getRepository().close();
+ }
}
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/mode/ClusterMode.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/mode/ClusterMode.java
index 035d9eb..518524a 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/mode/ClusterMode.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/mode/ClusterMode.java
@@ -36,9 +36,4 @@ public final class ClusterMode implements ShardingSphereMode {
public Optional<PersistRepository> getPersistRepository() {
return Optional.of(repository);
}
-
- @Override
- public void close() throws Exception {
- repository.close();
- }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/ShardingSphereMode.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/ShardingSphereMode.java
index 5dbaa13..a1129d8 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/ShardingSphereMode.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/ShardingSphereMode.java
@@ -24,7 +24,7 @@ import java.util.Optional;
/**
* ShardingSphere mode.
*/
-public interface ShardingSphereMode extends AutoCloseable {
+public interface ShardingSphereMode {
/**
* Get persist repository.
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/memory/MemoryMode.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/memory/MemoryMode.java
index 2b0656d..32ded6b 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/memory/MemoryMode.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/memory/MemoryMode.java
@@ -31,8 +31,4 @@ public final class MemoryMode implements ShardingSphereMode {
public Optional<PersistRepository> getPersistRepository() {
return Optional.empty();
}
-
- @Override
- public void close() throws Exception {
- }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/standalone/StandaloneMode.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/standalone/StandaloneMode.java
index 6024268..d0a56e6 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/standalone/StandaloneMode.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/mode/impl/standalone/StandaloneMode.java
@@ -35,9 +35,4 @@ public final class StandaloneMode implements
ShardingSphereMode {
public Optional<PersistRepository> getPersistRepository() {
return Optional.of(repository);
}
-
- @Override
- public void close() throws Exception {
- repository.close();
- }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/ContextManager.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/ContextManager.java
index f7883aa..a61f97c 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/ContextManager.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/ContextManager.java
@@ -26,7 +26,7 @@ import java.util.Optional;
/**
* Context manager.
*/
-public interface ContextManager {
+public interface ContextManager extends AutoCloseable {
/**
* Initialize context manager.
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/MemoryContextManager.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/MemoryContextManager.java
index 2b6b524..f2da42c 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/MemoryContextManager.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/MemoryContextManager.java
@@ -55,4 +55,9 @@ public final class MemoryContextManager implements
ContextManager {
public Optional<ShardingSphereLock> getLock() {
return Optional.empty();
}
+
+ @Override
+ public void close() throws Exception {
+ metaDataContexts.getExecutorEngine().close();
+ }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/StandaloneContextManager.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/StandaloneContextManager.java
index 0a8d183..5d77b42 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/StandaloneContextManager.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/manager/impl/StandaloneContextManager.java
@@ -55,4 +55,9 @@ public final class StandaloneContextManager implements
ContextManager {
public Optional<ShardingSphereLock> getLock() {
return Optional.empty();
}
+
+ @Override
+ public void close() throws Exception {
+ metaDataContexts.getExecutorEngine().close();
+ }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContexts.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContexts.java
index e0ffcc9..9e3d2fd 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContexts.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContexts.java
@@ -39,7 +39,7 @@ import java.util.Properties;
* Meta data contexts.
*/
@Getter
-public final class MetaDataContexts implements AutoCloseable {
+public final class MetaDataContexts {
private final DistMetaDataPersistService distMetaDataPersistService;
@@ -107,9 +107,4 @@ public final class MetaDataContexts implements
AutoCloseable {
public Optional<ShardingSphereLock> getLock() {
return Optional.empty();
}
-
- @Override
- public void close() {
- executorEngine.close();
- }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsTest.java
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsTest.java
index e3942e8..d76c487 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsTest.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.context.metadata;
import
org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.DefaultSchema;
-import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
@@ -36,7 +35,6 @@ import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
@RunWith(MockitoJUnitRunner.class)
public final class MetaDataContextsTest {
@@ -53,13 +51,4 @@ public final class MetaDataContextsTest {
mock(ShardingSphereRuleMetaData.class), null, new
ConfigurationProperties(new Properties()), optimizeContextFactory);
assertThat(metaDataContexts.getMetaData(DefaultSchema.LOGIC_NAME),
is(metaData));
}
-
- @Test
- public void assertClose() {
- ExecutorEngine executorEngine = mock(ExecutorEngine.class);
- MetaDataContexts metaDataContexts = new
MetaDataContexts(mock(DistMetaDataPersistService.class),
Collections.singletonMap("logic_db", metaData),
- mock(ShardingSphereRuleMetaData.class), executorEngine, new
ConfigurationProperties(new Properties()), optimizeContextFactory);
- metaDataContexts.close();
- verify(executorEngine).close();
- }
}
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
index de63490..e5dfb51 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
@@ -101,8 +101,7 @@ public final class ShardingSphereDataSource extends
AbstractUnsupportedOperation
for (String each : dataSourceNames) {
close(getDataSourceMap().get(each));
}
- contextManager.getMetaDataContexts().close();
- mode.close();
+ contextManager.close();
}
private void close(final DataSource dataSource) throws Exception {
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
index e2909ac..68b130a 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
@@ -88,8 +88,7 @@ public final class GovernanceShardingSphereDataSource extends
AbstractUnsupporte
@Override
public void close() throws Exception {
getDataSourceMap().forEach((key, value) -> close(value));
- contextManager.getMetaDataContexts().close();
- mode.close();
+ contextManager.close();
}
private void close(final DataSource dataSource) {