This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 c7978f4cb59 Refactor RegistryCenter (#31232)
c7978f4cb59 is described below
commit c7978f4cb59dff42293b133d27b4d167cfa3b5db
Author: Liang Zhang <[email protected]>
AuthorDate: Wed May 15 21:58:14 2024 +0800
Refactor RegistryCenter (#31232)
* Refactor RegistryCenter
* Refactor RegistryCenter
---
.../cluster/ClusterContextManagerBuilder.java | 10 ++++-----
.../cluster/coordinator/RegistryCenter.java | 25 +++++++++++-----------
.../ProcessListChangedSubscriberTest.java | 3 +--
.../subscriber/StateChangedSubscriberTest.java | 3 +--
4 files changed, 18 insertions(+), 23 deletions(-)
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
index 8a9a5557c69..703f399cedb 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
@@ -21,7 +21,6 @@ import com.google.common.base.Preconditions;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.InstanceContext;
import org.apache.shardingsphere.infra.instance.InstanceContextAware;
-import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
import org.apache.shardingsphere.mode.lock.GlobalLockContext;
@@ -48,14 +47,13 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
@Override
public ContextManager build(final ContextManagerBuilderParameter param)
throws SQLException {
ClusterPersistRepository repository =
getClusterPersistRepository((ClusterPersistRepositoryConfiguration)
param.getModeConfiguration().getRepository());
- RegistryCenter registryCenter = new RegistryCenter(repository, new
EventBusContext(), param.getInstanceMetaData(), param.getDatabaseConfigs());
+ RegistryCenter registryCenter = new RegistryCenter(repository,
param.getInstanceMetaData(), param.getDatabaseConfigs());
InstanceContext instanceContext = buildInstanceContext(registryCenter,
param);
if (registryCenter.getRepository() instanceof InstanceContextAware) {
((InstanceContextAware)
registryCenter.getRepository()).setInstanceContext(instanceContext);
}
- MetaDataPersistService persistService = new
MetaDataPersistService(repository);
- MetaDataContexts metaDataContexts = MetaDataContextsFactory.create(
- persistService, param, instanceContext,
registryCenter.getQualifiedDataSourceStatusService().loadStatus());
+ MetaDataPersistService metaDataPersistService = new
MetaDataPersistService(repository);
+ MetaDataContexts metaDataContexts =
MetaDataContextsFactory.create(metaDataPersistService, param, instanceContext,
registryCenter.getQualifiedDataSourceStatusService().loadStatus());
ContextManager result = new ContextManager(metaDataContexts,
instanceContext);
setContextManagerAware(result);
registerOnline(registryCenter, param, result);
@@ -63,7 +61,7 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
}
private ClusterPersistRepository getClusterPersistRepository(final
ClusterPersistRepositoryConfiguration config) {
- Preconditions.checkNotNull(config, "Cluster persist repository
configuration cannot be null.");
+ Preconditions.checkNotNull(config, "Cluster persist repository
configuration can not be null.");
ClusterPersistRepository result =
TypedSPILoader.getService(ClusterPersistRepository.class, config.getType(),
config.getProps());
result.init(config);
return result;
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/RegistryCenter.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/RegistryCenter.java
index d7a476112ab..f96d03fab2a 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/RegistryCenter.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/RegistryCenter.java
@@ -49,37 +49,36 @@ import java.util.Properties;
public final class RegistryCenter {
@Getter
- private final ClusterPersistRepository repository;
+ private final EventBusContext eventBusContext;
@Getter
- private final QualifiedDataSourceStatusService
qualifiedDataSourceStatusService;
+ private final ClusterPersistRepository repository;
+
+ private final InstanceMetaData instanceMetaData;
+
+ private final Map<String, DatabaseConfiguration> databaseConfigs;
@Getter
private final ClusterStatusService clusterStatusService;
@Getter
- private final ComputeNodeStatusService computeNodeStatusService;
+ private final QualifiedDataSourceStatusService
qualifiedDataSourceStatusService;
@Getter
- private final GlobalLockPersistService globalLockPersistService;
+ private final ComputeNodeStatusService computeNodeStatusService;
@Getter
- private final EventBusContext eventBusContext;
-
- private final InstanceMetaData instanceMetaData;
-
- private final Map<String, DatabaseConfiguration> databaseConfigs;
+ private final GlobalLockPersistService globalLockPersistService;
private final GovernanceWatcherFactory listenerFactory;
- public RegistryCenter(final ClusterPersistRepository repository, final
EventBusContext eventBusContext,
- final InstanceMetaData instanceMetaData, final
Map<String, DatabaseConfiguration> databaseConfigs) {
+ public RegistryCenter(final ClusterPersistRepository repository, final
InstanceMetaData instanceMetaData, final Map<String, DatabaseConfiguration>
databaseConfigs) {
+ eventBusContext = new EventBusContext();
this.repository = repository;
- this.eventBusContext = eventBusContext;
this.instanceMetaData = instanceMetaData;
this.databaseConfigs = databaseConfigs;
- qualifiedDataSourceStatusService = new
QualifiedDataSourceStatusService(repository);
clusterStatusService = new ClusterStatusService(repository);
+ qualifiedDataSourceStatusService = new
QualifiedDataSourceStatusService(repository);
computeNodeStatusService = new ComputeNodeStatusService(repository);
globalLockPersistService = new
GlobalLockPersistService(initDistributedLockHolder(repository));
listenerFactory = new GovernanceWatcherFactory(repository,
eventBusContext, getJDBCDatabaseName());
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
index c9c785de3a0..55b9d71b4a4 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessListChangedSubscriberTest.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import
org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
@@ -85,7 +84,7 @@ class ProcessListChangedSubscriberTest {
contextManager.renewMetaDataContexts(new
MetaDataContexts(contextManager.getMetaDataContexts().getPersistService(), new
ShardingSphereMetaData(createDatabases(),
contextManager.getMetaDataContexts().getMetaData().getGlobalResourceMetaData(),
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
new ConfigurationProperties(new Properties()))));
- registryCenter = new
RegistryCenter(mock(ClusterPersistRepository.class), new EventBusContext(),
mock(ProxyInstanceMetaData.class), null);
+ registryCenter = new
RegistryCenter(mock(ClusterPersistRepository.class),
mock(ProxyInstanceMetaData.class), null);
subscriber = new ProcessListChangedSubscriber(contextManager,
registryCenter);
}
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
index c0972aad60b..fd4935257be 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
@@ -32,7 +32,6 @@ import
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.state.cluster.ClusterState;
import org.apache.shardingsphere.infra.state.datasource.DataSourceState;
import org.apache.shardingsphere.infra.state.instance.InstanceState;
-import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import
org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
@@ -90,7 +89,7 @@ class StateChangedSubscriberTest {
contextManager.renewMetaDataContexts(new
MetaDataContexts(contextManager.getMetaDataContexts().getPersistService(), new
ShardingSphereMetaData(createDatabases(),
contextManager.getMetaDataContexts().getMetaData().getGlobalResourceMetaData(),
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
new ConfigurationProperties(new Properties()))));
- subscriber = new StateChangedSubscriber(contextManager, new
RegistryCenter(mock(ClusterPersistRepository.class), new EventBusContext(),
mock(ProxyInstanceMetaData.class), null));
+ subscriber = new StateChangedSubscriber(contextManager, new
RegistryCenter(mock(ClusterPersistRepository.class),
mock(ProxyInstanceMetaData.class), null));
}
private ContextManagerBuilderParameter
createContextManagerBuilderParameter() {