This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 31bbe98da9c Refactor DispatchEventBuilder.getSubscribedKey() (#32896)
31bbe98da9c is described below
commit 31bbe98da9c0d94b3c8c6af2ffb59299c886325e
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Sep 15 23:01:50 2024 +0800
Refactor DispatchEventBuilder.getSubscribedKey() (#32896)
---
.../event/builder/ClusterStateDispatchEventBuilder.java | 5 ++---
.../builder/ComputeNodeOnlineDispatchEventBuilder.java | 7 +++----
.../builder/ComputeNodeStateDispatchEventBuilder.java | 7 +++----
.../cluster/event/builder/DispatchEventBuilder.java | 6 +++---
.../event/builder/GlobalRuleDispatchEventBuilder.java | 9 ++++-----
.../builder/ListenerAssistedDispatchEventBuilder.java | 5 ++---
.../event/builder/PropertiesDispatchEventBuilder.java | 7 +++----
.../builder/QualifiedDataSourceDispatchEventBuilder.java | 15 +++++++--------
.../builder/ShardingSphereDataDispatchEventBuilder.java | 9 ++++-----
.../listener/DataChangedEventListenerRegistry.java | 2 +-
10 files changed, 32 insertions(+), 40 deletions(-)
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
index 40d7acb1cb6..01c16543406 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.mode.event.dispatch.state.cluster.ClusterStateE
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
/**
@@ -35,8 +34,8 @@ import java.util.Optional;
public final class ClusterStateDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return Collections.singleton(ComputeNode.getClusterStateNodePath());
+ public String getSubscribedKey() {
+ return ComputeNode.getClusterStateNodePath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
index 99a16eb02bd..ecbbf6759ff 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
@@ -23,17 +23,16 @@ import
org.apache.shardingsphere.infra.instance.metadata.InstanceMetaDataFactory
import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
import org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeData;
import
org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeDataSwapper;
-import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance.InstanceOfflineEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance.InstanceOnlineEvent;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -44,8 +43,8 @@ import java.util.regex.Pattern;
public final class ComputeNodeOnlineDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return Collections.singleton(ComputeNode.getOnlineInstanceNodePath());
+ public String getSubscribedKey() {
+ return ComputeNode.getOnlineInstanceNodePath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
index 7c334108657..c8c96a3c6ef 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
@@ -18,11 +18,11 @@
package org.apache.shardingsphere.mode.manager.cluster.event.builder;
import com.google.common.base.Strings;
-import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.ComputeNodeInstanceStateChangedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.KillLocalProcessCompletedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.KillLocalProcessEvent;
@@ -34,7 +34,6 @@ import
org.apache.shardingsphere.mode.event.dispatch.state.compute.WorkerIdEvent
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -45,8 +44,8 @@ import java.util.regex.Pattern;
public final class ComputeNodeStateDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return Collections.singleton(ComputeNode.getComputeNodePath());
+ public String getSubscribedKey() {
+ return ComputeNode.getComputeNodePath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
index df68bb7b271..eee63e1ec56 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
@@ -33,11 +33,11 @@ import java.util.Optional;
public interface DispatchEventBuilder<T> {
/**
- * Get subscribed keys.
+ * Get subscribed key.
*
- * @return subscribed keys
+ * @return subscribed key
*/
- Collection<String> getSubscribedKeys();
+ String getSubscribedKey();
/**
* Get subscribed types.
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
index e84677cbc04..4510eb833c4 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
@@ -17,16 +17,15 @@
package org.apache.shardingsphere.mode.manager.cluster.event.builder;
-import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
-import org.apache.shardingsphere.mode.path.GlobalNodePath;
import org.apache.shardingsphere.metadata.persist.node.GlobalNode;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import
org.apache.shardingsphere.mode.event.dispatch.config.AlterGlobalRuleConfigurationEvent;
+import org.apache.shardingsphere.mode.path.GlobalNodePath;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
/**
@@ -35,8 +34,8 @@ import java.util.Optional;
public final class GlobalRuleDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return Collections.singleton(GlobalNode.getGlobalRuleRootNode());
+ public String getSubscribedKey() {
+ return GlobalNode.getGlobalRuleRootNode();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
index d65ad5d55e7..fa1e79ad9a1 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
@@ -28,7 +28,6 @@ import
org.apache.shardingsphere.mode.persist.pojo.ListenerAssisted;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
/**
@@ -37,8 +36,8 @@ import java.util.Optional;
public final class ListenerAssistedDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return
Collections.singleton(ListenerAssistedNodePath.getRootNodePath());
+ public String getSubscribedKey() {
+ return ListenerAssistedNodePath.getRootNodePath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
index 8a331f3b01e..47e758ab235 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
@@ -17,14 +17,13 @@
package org.apache.shardingsphere.mode.manager.cluster.event.builder;
-import org.apache.shardingsphere.mode.path.GlobalNodePath;
import org.apache.shardingsphere.metadata.persist.node.GlobalNode;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
import
org.apache.shardingsphere.mode.event.dispatch.config.AlterPropertiesEvent;
+import org.apache.shardingsphere.mode.path.GlobalNodePath;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Collection;
import java.util.Optional;
@@ -34,8 +33,8 @@ import java.util.Optional;
public final class PropertiesDispatchEventBuilder implements
DispatchEventBuilder<AlterPropertiesEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return Collections.singleton(GlobalNode.getPropsRootNode());
+ public String getSubscribedKey() {
+ return GlobalNode.getPropsRootNode();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
index b5b60ad1241..3ccab9bd6f7 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
@@ -19,19 +19,18 @@ package
org.apache.shardingsphere.mode.manager.cluster.event.builder;
import com.google.common.base.Strings;
import
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedDataSource;
-import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
+import
org.apache.shardingsphere.infra.state.datasource.qualified.QualifiedDataSourceState;
+import
org.apache.shardingsphere.infra.state.datasource.qualified.yaml.YamlQualifiedDataSourceState;
+import
org.apache.shardingsphere.infra.state.datasource.qualified.yaml.YamlQualifiedDataSourceStateSwapper;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
+import org.apache.shardingsphere.metadata.persist.node.QualifiedDataSourceNode;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.storage.QualifiedDataSourceStateEvent;
-import
org.apache.shardingsphere.infra.state.datasource.qualified.QualifiedDataSourceState;
-import org.apache.shardingsphere.metadata.persist.node.QualifiedDataSourceNode;
-import
org.apache.shardingsphere.infra.state.datasource.qualified.yaml.YamlQualifiedDataSourceState;
-import
org.apache.shardingsphere.infra.state.datasource.qualified.yaml.YamlQualifiedDataSourceStateSwapper;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
/**
@@ -40,8 +39,8 @@ import java.util.Optional;
public final class QualifiedDataSourceDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return Collections.singleton(QualifiedDataSourceNode.getRootPath());
+ public String getSubscribedKey() {
+ return QualifiedDataSourceNode.getRootPath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
index 31d98379421..67058dca9f1 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
@@ -22,6 +22,8 @@ import com.google.common.base.Strings;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
import org.apache.shardingsphere.metadata.persist.node.ShardingSphereDataNode;
+import org.apache.shardingsphere.mode.event.DataChangedEvent;
+import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
import
org.apache.shardingsphere.mode.event.dispatch.metadata.data.DatabaseDataAddedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.metadata.data.DatabaseDataDeletedEvent;
@@ -30,12 +32,9 @@ import
org.apache.shardingsphere.mode.event.dispatch.metadata.data.SchemaDataDel
import
org.apache.shardingsphere.mode.event.dispatch.metadata.data.ShardingSphereRowDataChangedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.metadata.data.ShardingSphereRowDataDeletedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.metadata.data.TableDataChangedEvent;
-import org.apache.shardingsphere.mode.event.DataChangedEvent;
-import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Optional;
/**
@@ -44,8 +43,8 @@ import java.util.Optional;
public final class ShardingSphereDataDispatchEventBuilder implements
DispatchEventBuilder<DispatchEvent> {
@Override
- public Collection<String> getSubscribedKeys() {
- return
Collections.singleton(ShardingSphereDataNode.getShardingSphereDataNodePath());
+ public String getSubscribedKey() {
+ return ShardingSphereDataNode.getShardingSphereDataNodePath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/listener/DataChangedEventListenerRegistry.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/listener/DataChangedEventListenerRegistry.java
index c466934367e..ff1e5ef58ad 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/listener/DataChangedEventListenerRegistry.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/listener/DataChangedEventListenerRegistry.java
@@ -56,6 +56,6 @@ public final class DataChangedEventListenerRegistry {
}
private void registerGlobalListeners(final DispatchEventBuilder<?>
builder) {
- builder.getSubscribedKeys().forEach(each -> repository.watch(each, new
GlobalMetaDataChangedListener(eventBusContext, builder)));
+ repository.watch(builder.getSubscribedKey(), new
GlobalMetaDataChangedListener(eventBusContext, builder));
}
}