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 <[email protected]>
AuthorDate: Wed May 12 19:17:03 2021 +0800
Refactor MetaDataChangedListener (#10318)
Co-authored-by: menghaoranss <[email protected]>
---
.../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;