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 2021/05/12 11:17:35 UTC
[shardingsphere] branch master updated: Refactor
MetaDataChangedListener (#10318)
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 974914f Refactor MetaDataChangedListener (#10318)
974914f is described below
commit 974914f7d63ce3d5d7077cc51aa789803b905e25
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Wed May 12 19:17:03 2021 +0800
Refactor MetaDataChangedListener (#10318)
Co-authored-by: menghaoranss <me...@apache.org>
---
.../listener/GovernanceListenerManager.java | 5 --
.../DataSourceChangedListenerFactory.java} | 32 ++++-----
.../MetaDataChangedListenerFactory.java} | 30 ++++-----
.../RuleChangedListenerFactory.java} | 30 ++++-----
.../SchemaChangedListenerFactory.java} | 30 ++++-----
.../DataSourceChangedListener.java | 2 +-
.../MetaDataChangedListener.java | 2 +-
.../{metadata => impl}/RuleChangedListener.java | 2 +-
.../{metadata => impl}/SchemaChangedListener.java | 2 +-
.../listener/metadata/MetaDataListener.java | 76 ----------------------
...ore.registry.listener.GovernanceListenerFactory | 4 ++
.../DataSourceChangedListenerTest.java | 2 +-
.../MetaDataChangedListenerTest.java | 2 +-
.../{metadata => impl}/MetaDataListenerTest.java | 2 +-
.../RuleChangedListenerTest.java | 2 +-
.../SchemaChangedListenerTest.java | 2 +-
16 files changed, 66 insertions(+), 159 deletions(-)
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/GovernanceListenerManager.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/GovernanceListenerManager.java
index f60f4c7..d931254 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/GovernanceListenerManager.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/GovernanceListenerManager.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.governance.core.registry.listener;
-import org.apache.shardingsphere.governance.core.registry.listener.metadata.MetaDataListener;
import org.apache.shardingsphere.governance.repository.api.RegistryRepository;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
@@ -37,14 +36,11 @@ public final class GovernanceListenerManager {
private final Collection<String> schemaNames;
- private final MetaDataListener metaDataListener;
-
private final Collection<GovernanceListenerFactory> governanceListenerFactories;
public GovernanceListenerManager(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
this.registryRepository = registryRepository;
this.schemaNames = schemaNames;
- metaDataListener = new MetaDataListener(registryRepository, schemaNames);
governanceListenerFactories = ShardingSphereServiceLoader.getSingletonServiceInstances(GovernanceListenerFactory.class);
}
@@ -52,7 +48,6 @@ public final class GovernanceListenerManager {
* Initialize all state changed listeners.
*/
public void initListeners() {
- metaDataListener.watch();
for (GovernanceListenerFactory each : governanceListenerFactories) {
each.create(registryRepository, schemaNames).watch(each.getWatchTypes().toArray(new Type[0]));
}
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/DataSourceChangedListenerFactory.java
similarity index 52%
copy from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
copy to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/DataSourceChangedListenerFactory.java
index 61f57e0..1bf280d 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/DataSourceChangedListenerFactory.java
@@ -15,33 +15,29 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.factory;
-import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
-import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.listener.event.schema.SchemaChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.RegistryCenterNode;
-import org.apache.shardingsphere.governance.core.yaml.config.schema.YamlSchema;
-import org.apache.shardingsphere.governance.core.yaml.swapper.SchemaYamlSwapper;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListener;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory;
+import org.apache.shardingsphere.governance.core.registry.listener.impl.DataSourceChangedListener;
import org.apache.shardingsphere.governance.repository.api.RegistryRepository;
-import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
+import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
+import java.util.Arrays;
import java.util.Collection;
-import java.util.Optional;
/**
- * Schema changed listener.
+ * Data source changed listener factory.
*/
-public final class SchemaChangedListener extends PostGovernanceRepositoryEventListener<GovernanceEvent> {
-
- public SchemaChangedListener(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
- super(registryRepository, new RegistryCenterNode().getAllMetadataSchemaPaths(schemaNames));
+public final class DataSourceChangedListenerFactory implements GovernanceListenerFactory {
+
+ @Override
+ public GovernanceListener create(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
+ return new DataSourceChangedListener(registryRepository, schemaNames);
}
@Override
- protected Optional<GovernanceEvent> createEvent(final DataChangedEvent event) {
- String schemaName = new RegistryCenterNode().getSchemaName(event.getKey());
- return Optional.of(new SchemaChangedEvent(schemaName, new SchemaYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlSchema.class))));
+ public Collection<Type> getWatchTypes() {
+ return Arrays.asList(Type.UPDATED);
}
}
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/MetaDataChangedListenerFactory.java
similarity index 52%
copy from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
copy to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/MetaDataChangedListenerFactory.java
index 61f57e0..bfc2c65 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/MetaDataChangedListenerFactory.java
@@ -15,33 +15,29 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.factory;
-import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
-import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.listener.event.schema.SchemaChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.RegistryCenterNode;
-import org.apache.shardingsphere.governance.core.yaml.config.schema.YamlSchema;
-import org.apache.shardingsphere.governance.core.yaml.swapper.SchemaYamlSwapper;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListener;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory;
+import org.apache.shardingsphere.governance.core.registry.listener.impl.MetaDataChangedListener;
import org.apache.shardingsphere.governance.repository.api.RegistryRepository;
-import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
+import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
+import java.util.Arrays;
import java.util.Collection;
-import java.util.Optional;
/**
- * Schema changed listener.
+ * Meta data changed listener factory.
*/
-public final class SchemaChangedListener extends PostGovernanceRepositoryEventListener<GovernanceEvent> {
+public final class MetaDataChangedListenerFactory implements GovernanceListenerFactory {
- public SchemaChangedListener(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
- super(registryRepository, new RegistryCenterNode().getAllMetadataSchemaPaths(schemaNames));
+ @Override
+ public GovernanceListener create(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
+ return new MetaDataChangedListener(registryRepository, schemaNames);
}
@Override
- protected Optional<GovernanceEvent> createEvent(final DataChangedEvent event) {
- String schemaName = new RegistryCenterNode().getSchemaName(event.getKey());
- return Optional.of(new SchemaChangedEvent(schemaName, new SchemaYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlSchema.class))));
+ public Collection<Type> getWatchTypes() {
+ return Arrays.asList(Type.UPDATED, Type.ADDED);
}
}
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/RuleChangedListenerFactory.java
similarity index 52%
copy from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
copy to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/RuleChangedListenerFactory.java
index 61f57e0..4a11624 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/RuleChangedListenerFactory.java
@@ -15,33 +15,29 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.factory;
-import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
-import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.listener.event.schema.SchemaChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.RegistryCenterNode;
-import org.apache.shardingsphere.governance.core.yaml.config.schema.YamlSchema;
-import org.apache.shardingsphere.governance.core.yaml.swapper.SchemaYamlSwapper;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListener;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory;
+import org.apache.shardingsphere.governance.core.registry.listener.impl.RuleChangedListener;
import org.apache.shardingsphere.governance.repository.api.RegistryRepository;
-import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
+import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
+import java.util.Arrays;
import java.util.Collection;
-import java.util.Optional;
/**
- * Schema changed listener.
+ * Rule changed listener factory.
*/
-public final class SchemaChangedListener extends PostGovernanceRepositoryEventListener<GovernanceEvent> {
+public final class RuleChangedListenerFactory implements GovernanceListenerFactory {
- public SchemaChangedListener(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
- super(registryRepository, new RegistryCenterNode().getAllMetadataSchemaPaths(schemaNames));
+ @Override
+ public GovernanceListener create(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
+ return new RuleChangedListener(registryRepository, schemaNames);
}
@Override
- protected Optional<GovernanceEvent> createEvent(final DataChangedEvent event) {
- String schemaName = new RegistryCenterNode().getSchemaName(event.getKey());
- return Optional.of(new SchemaChangedEvent(schemaName, new SchemaYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlSchema.class))));
+ public Collection<Type> getWatchTypes() {
+ return Arrays.asList(Type.UPDATED);
}
}
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/SchemaChangedListenerFactory.java
similarity index 52%
copy from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
copy to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/SchemaChangedListenerFactory.java
index 61f57e0..08758f7 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/factory/SchemaChangedListenerFactory.java
@@ -15,33 +15,29 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.factory;
-import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
-import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.listener.event.schema.SchemaChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.RegistryCenterNode;
-import org.apache.shardingsphere.governance.core.yaml.config.schema.YamlSchema;
-import org.apache.shardingsphere.governance.core.yaml.swapper.SchemaYamlSwapper;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListener;
+import org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory;
+import org.apache.shardingsphere.governance.core.registry.listener.impl.SchemaChangedListener;
import org.apache.shardingsphere.governance.repository.api.RegistryRepository;
-import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
+import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
+import java.util.Arrays;
import java.util.Collection;
-import java.util.Optional;
/**
- * Schema changed listener.
+ * Schema changed listener factory.
*/
-public final class SchemaChangedListener extends PostGovernanceRepositoryEventListener<GovernanceEvent> {
+public final class SchemaChangedListenerFactory implements GovernanceListenerFactory {
- public SchemaChangedListener(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
- super(registryRepository, new RegistryCenterNode().getAllMetadataSchemaPaths(schemaNames));
+ @Override
+ public GovernanceListener create(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
+ return new SchemaChangedListener(registryRepository, schemaNames);
}
@Override
- protected Optional<GovernanceEvent> createEvent(final DataChangedEvent event) {
- String schemaName = new RegistryCenterNode().getSchemaName(event.getKey());
- return Optional.of(new SchemaChangedEvent(schemaName, new SchemaYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlSchema.class))));
+ public Collection<Type> getWatchTypes() {
+ return Arrays.asList(Type.UPDATED);
}
}
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/DataSourceChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/DataSourceChangedListener.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/DataSourceChangedListener.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/DataSourceChangedListener.java
index 614f12b..b9b3c0c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/DataSourceChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/DataSourceChangedListener.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import com.google.common.base.Strings;
import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataChangedListener.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataChangedListener.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataChangedListener.java
index 2512f38..c413b15 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataChangedListener.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import org.apache.commons.collections4.SetUtils;
import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/RuleChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/RuleChangedListener.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/RuleChangedListener.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/RuleChangedListener.java
index 857e799..22301c3 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/RuleChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/RuleChangedListener.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/SchemaChangedListener.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/SchemaChangedListener.java
index 61f57e0..ebe97e5 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/impl/SchemaChangedListener.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import org.apache.shardingsphere.governance.core.registry.listener.PostGovernanceRepositoryEventListener;
import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListener.java
deleted file mode 100644
index a45de4a..0000000
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListener.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
-
-import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.listener.event.metadata.MetaDataChangedEvent;
-import org.apache.shardingsphere.governance.repository.api.RegistryRepository;
-import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
-import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
-
-import java.util.Collection;
-
-/**
- * Meta data listener.
- */
-public final class MetaDataListener {
-
- private final MetaDataChangedListener metaDataChangedListener;
-
- private volatile RuleChangedListener ruleChangedListener;
-
- private volatile DataSourceChangedListener dataSourceChangedListener;
-
- private volatile SchemaChangedListener schemaChangedListener;
-
- private final RegistryRepository registryRepository;
-
- public MetaDataListener(final RegistryRepository registryRepository, final Collection<String> schemaNames) {
- this.registryRepository = registryRepository;
- metaDataChangedListener = new MetaDataChangedListener(registryRepository, schemaNames);
- ruleChangedListener = new RuleChangedListener(registryRepository, schemaNames);
- dataSourceChangedListener = new DataSourceChangedListener(registryRepository, schemaNames);
- schemaChangedListener = new SchemaChangedListener(registryRepository, schemaNames);
- ShardingSphereEventBus.getInstance().register(this);
- }
-
- /**
- * watch event.
- */
- public void watch() {
- metaDataChangedListener.watch(Type.UPDATED, Type.ADDED);
- ruleChangedListener.watch(Type.UPDATED);
- dataSourceChangedListener.watch(Type.UPDATED);
- schemaChangedListener.watch(Type.UPDATED);
- }
-
- /**
- * Renew listeners.
- *
- * @param event meta data changed event.
- */
- @Subscribe
- public void renew(final MetaDataChangedEvent event) {
- ruleChangedListener = new RuleChangedListener(registryRepository, event.getSchemaNames());
- dataSourceChangedListener = new DataSourceChangedListener(registryRepository, event.getSchemaNames());
- schemaChangedListener = new SchemaChangedListener(registryRepository, event.getSchemaNames());
- ruleChangedListener.watch(Type.UPDATED);
- dataSourceChangedListener.watch(Type.UPDATED);
- schemaChangedListener.watch(Type.UPDATED);
- }
-}
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory b/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory
index c71a9ee..0f3da36 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerFactory
@@ -19,3 +19,7 @@ org.apache.shardingsphere.governance.core.registry.listener.factory.TerminalStat
org.apache.shardingsphere.governance.core.registry.listener.factory.DataSourceStateChangedListenerFactory
org.apache.shardingsphere.governance.core.registry.listener.factory.LockChangedListenerFactory
org.apache.shardingsphere.governance.core.registry.listener.factory.PropertiesChangedListenerFactory
+org.apache.shardingsphere.governance.core.registry.listener.factory.DataSourceChangedListenerFactory
+org.apache.shardingsphere.governance.core.registry.listener.factory.MetaDataChangedListenerFactory
+org.apache.shardingsphere.governance.core.registry.listener.factory.RuleChangedListenerFactory
+org.apache.shardingsphere.governance.core.registry.listener.factory.SchemaChangedListenerFactory
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/DataSourceChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/DataSourceChangedListenerTest.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/DataSourceChangedListenerTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/DataSourceChangedListenerTest.java
index 13110ff..4df309e 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/DataSourceChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/DataSourceChangedListenerTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
import org.apache.shardingsphere.governance.core.registry.listener.event.datasource.DataSourceChangedEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataChangedListenerTest.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataChangedListenerTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataChangedListenerTest.java
index 618e9e8..e5c7061 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataChangedListenerTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
import org.apache.shardingsphere.governance.core.registry.listener.event.metadata.MetaDataDeletedEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataListenerTest.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListenerTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataListenerTest.java
index 7142f06..3ac33c9 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/MetaDataListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/MetaDataListenerTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import lombok.Getter;
import lombok.SneakyThrows;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/RuleChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/RuleChangedListenerTest.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/RuleChangedListenerTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/RuleChangedListenerTest.java
index 410a252..85fb600 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/RuleChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/RuleChangedListenerTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/SchemaChangedListenerTest.java
similarity index 99%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListenerTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/SchemaChangedListenerTest.java
index 97c2b4c..cc447b2 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/metadata/SchemaChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/impl/SchemaChangedListenerTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.listener.metadata;
+package org.apache.shardingsphere.governance.core.registry.listener.impl;
import org.apache.shardingsphere.governance.core.registry.listener.event.GovernanceEvent;
import org.apache.shardingsphere.governance.core.registry.listener.event.schema.SchemaChangedEvent;