You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/06/25 13:19:47 UTC

[shardingsphere] branch master updated: Rename RuleChangedSubscriber (#26553)

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 06ee4523d31 Rename RuleChangedSubscriber (#26553)
06ee4523d31 is described below

commit 06ee4523d317efa7b06a9d7ba34c4b2109b9b144
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Jun 25 21:19:40 2023 +0800

    Rename RuleChangedSubscriber (#26553)
---
 .../BroadcastConfigurationSubscriber.java           | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 .../encrypt/subscriber/EncryptTableSubscriber.java  | 12 ++++--------
 .../encrypt/subscriber/EncryptorSubscriber.java     | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 .../mask/subscriber/MaskAlgorithmSubscriber.java    | 12 ++++--------
 .../mask/subscriber/MaskTableSubscriber.java        | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 .../ReadwriteSplittingDataSourceSubscriber.java     | 12 ++++--------
 .../ReadwriteSplittingLoadBalanceSubscriber.java    | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 .../subscriber/ShadowAlgorithmSubscriber.java       | 12 ++++--------
 .../subscriber/ShadowDataSourceSubscriber.java      | 12 ++++--------
 .../shadow/subscriber/ShadowTableSubscriber.java    | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 .../subscriber/ShardingAlgorithmSubscriber.java     | 12 ++++--------
 .../ShardingCacheConfigurationSubscriber.java       | 12 ++++--------
 .../ShardingStrategyConfigurationSubscriber.java    | 12 ++++--------
 .../ShardingTableConfigurationSubscriber.java       | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 ...eCoordinator.java => RuleChangedSubscriber.java} | 21 +++++++++++++++------
 .../subscriber/SingleConfigurationSubscriber.java   | 12 ++++--------
 ...shardingsphere.infra.rule.RuleChangedSubscriber} |  0
 .../cluster/NewClusterContextManagerBuilder.java    |  7 ++++---
 24 files changed, 79 insertions(+), 129 deletions(-)

diff --git a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastConfigurationSubscriber.java b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastConfigurationSubscriber.java
index da16f51be33..e450bee0601 100644
--- a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastConfigurationSubscriber.java
+++ b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastConfigurationSubscriber.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.broadcast.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.broadcast.api.config.BroadcastRuleConfiguration;
 import org.apache.shardingsphere.broadcast.event.config.AddBroadcastTableEvent;
 import org.apache.shardingsphere.broadcast.event.config.AlterBroadcastTableEvent;
@@ -26,7 +27,7 @@ import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
 import org.apache.shardingsphere.broadcast.yaml.config.YamlBroadcastRuleConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 
@@ -37,18 +38,13 @@ import java.util.Optional;
  * Broadcast configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class BroadcastConfigurationSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class BroadcastConfigurationSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add broadcast configuration.
      *
diff --git a/features/broadcast/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/features/broadcast/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from features/broadcast/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to features/broadcast/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
index 236cd4a833b..0415e1ca431 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableSubscriber.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.encrypt.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
 import org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
 import org.apache.shardingsphere.encrypt.event.table.AddEncryptTableEvent;
@@ -28,7 +29,7 @@ import org.apache.shardingsphere.encrypt.yaml.config.rule.YamlEncryptTableRuleCo
 import org.apache.shardingsphere.encrypt.yaml.swapper.rule.YamlEncryptTableRuleConfigurationSwapper;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 
@@ -40,18 +41,13 @@ import java.util.Optional;
  * Encrypt table subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class EncryptTableSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class EncryptTableSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add encrypt configuration.
      *
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
index 3c96ef2590b..15eb7d13b8a 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorSubscriber.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.encrypt.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
 import org.apache.shardingsphere.encrypt.event.encryptor.AlterEncryptorEvent;
 import org.apache.shardingsphere.encrypt.event.encryptor.DeleteEncryptorEvent;
@@ -25,7 +26,7 @@ import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
@@ -37,18 +38,13 @@ import java.util.Map;
  * Encrypt encryptor subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class EncryptorSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class EncryptorSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with alter encryptor.
      *
diff --git a/features/encrypt/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/features/encrypt/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from features/encrypt/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to features/encrypt/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
index 9b5d5d5245d..ad990d50898 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmSubscriber.java
@@ -18,10 +18,11 @@
 package org.apache.shardingsphere.mask.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
@@ -37,18 +38,13 @@ import java.util.Map;
  * Mask algorithm subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class MaskAlgorithmSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class MaskAlgorithmSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with alter algorithm.
      *
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
index 490c77f0bb9..adae5837f1a 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.mask.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
 import org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
@@ -40,18 +41,13 @@ import java.util.Optional;
  * Mask configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class MaskTableSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class MaskTableSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add mask configuration.
      *
diff --git a/features/mask/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/features/mask/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from features/mask/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to features/mask/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
index 76830131f17..8972a1ac8b7 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
@@ -19,9 +19,10 @@ package org.apache.shardingsphere.readwritesplitting.subscriber;
 
 import com.google.common.base.Strings;
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
@@ -41,18 +42,13 @@ import java.util.Optional;
  * Readwrite-splitting configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ReadwriteSplittingDataSourceSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ReadwriteSplittingDataSourceSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add readwrite-splitting configuration.
      *
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
index 8e83c0f6d40..0160aff21d2 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
@@ -18,10 +18,11 @@
 package org.apache.shardingsphere.readwritesplitting.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
@@ -37,18 +38,13 @@ import java.util.Map;
  * Readwrite-splitting load-balance subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ReadwriteSplittingLoadBalanceSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ReadwriteSplittingLoadBalanceSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with alter load-balance.
      *
diff --git a/features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
index 45cb533258b..9ba033ddb12 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmSubscriber.java
@@ -18,10 +18,11 @@
 package org.apache.shardingsphere.shadow.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
@@ -37,18 +38,13 @@ import java.util.Map;
  * Shadow algorithm subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShadowAlgorithmSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShadowAlgorithmSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with alter algorithm.
      *
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
index d6b107522e0..3d877162b0b 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.shadow.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
@@ -38,18 +39,13 @@ import java.util.Optional;
  * Shadow configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShadowDataSourceSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShadowDataSourceSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add shadow configuration.
      *
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
index 3207bf74717..48f4fb584e7 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.shadow.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
@@ -38,18 +39,13 @@ import java.util.Map;
  * Shadow table subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShadowTableSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShadowTableSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add table.
      *
diff --git a/features/shadow/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/features/shadow/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from features/shadow/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to features/shadow/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
index c6ee2b05b41..870a79d5077 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmSubscriber.java
@@ -18,10 +18,11 @@
 package org.apache.shardingsphere.sharding.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
@@ -41,18 +42,13 @@ import java.util.Map;
  * Sharding algorithm subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShardingAlgorithmSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShardingAlgorithmSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with alter sharding algorithm.
      *
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheConfigurationSubscriber.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheConfigurationSubscriber.java
index fe293c349d1..07832e0f895 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheConfigurationSubscriber.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheConfigurationSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.sharding.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -38,18 +39,13 @@ import java.util.Map;
  * Sharding cache configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShardingCacheConfigurationSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShardingCacheConfigurationSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add sharding cache configuration.
      *
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingStrategyConfigurationSubscriber.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingStrategyConfigurationSubscriber.java
index c0547a3333c..24f50ca8c74 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingStrategyConfigurationSubscriber.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingStrategyConfigurationSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.sharding.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -57,18 +58,13 @@ import java.util.Optional;
  * Sharding strategy configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShardingStrategyConfigurationSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShardingStrategyConfigurationSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add default database sharding strategy configuration.
      *
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableConfigurationSubscriber.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableConfigurationSubscriber.java
index 420d883d4df..d1493207dd6 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableConfigurationSubscriber.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableConfigurationSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.sharding.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -50,18 +51,13 @@ import java.util.Optional;
  * Sharding table configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class ShardingTableConfigurationSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class ShardingTableConfigurationSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add sharding table configuration.
      *
diff --git a/features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to features/sharding/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/RuleConfigurationSubscribeCoordinator.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/RuleChangedSubscriber.java
similarity index 71%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/rule/RuleConfigurationSubscribeCoordinator.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/rule/RuleChangedSubscriber.java
index 2079f40ef44..3a247f6bdad 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/RuleConfigurationSubscribeCoordinator.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/RuleChangedSubscriber.java
@@ -22,13 +22,22 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 
 import java.util.Map;
 
-public interface RuleConfigurationSubscribeCoordinator {
+/**
+ * Rule changed subscriber.
+ */
+public interface RuleChangedSubscriber {
+    
+    /**
+     * Set databases.
+     * 
+     * @param databases databases databases to be set
+     */
+    void setDatabases(Map<String, ShardingSphereDatabase> databases);
     
     /**
-     * Register rule configuration subscriber.
-     *
-     * @param databases databases
-     * @param instanceContext instance context
+     * Set instance context.
+     * 
+     * @param instanceContext instance context to be set
      */
-    void registerRuleConfigurationSubscriber(Map<String, ShardingSphereDatabase> databases, InstanceContext instanceContext);
+    void setInstanceContext(InstanceContext instanceContext);
 }
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleConfigurationSubscriber.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleConfigurationSubscriber.java
index d8cda743721..3c5651e19e4 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleConfigurationSubscriber.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleConfigurationSubscriber.java
@@ -18,9 +18,10 @@
 package org.apache.shardingsphere.single.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import lombok.Setter;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.config.DatabaseRuleConfigurationChangedEvent;
 import org.apache.shardingsphere.single.api.config.SingleRuleConfiguration;
@@ -37,18 +38,13 @@ import java.util.Optional;
  * Single configuration subscriber.
  */
 @SuppressWarnings("UnstableApiUsage")
-public final class SingleConfigurationSubscriber implements RuleConfigurationSubscribeCoordinator {
+@Setter
+public final class SingleConfigurationSubscriber implements RuleChangedSubscriber {
     
     private Map<String, ShardingSphereDatabase> databases;
     
     private InstanceContext instanceContext;
     
-    @Override
-    public void registerRuleConfigurationSubscriber(final Map<String, ShardingSphereDatabase> databases, final InstanceContext instanceContext) {
-        this.databases = databases;
-        this.instanceContext = instanceContext;
-    }
-    
     /**
      * Renew with add single configuration.
      *
diff --git a/kernel/single/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator b/kernel/single/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
similarity index 100%
rename from kernel/single/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleConfigurationSubscribeCoordinator
rename to kernel/single/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.RuleChangedSubscriber
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterContextManagerBuilder.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterContextManagerBuilder.java
index 237facb7e1b..e60ec0fefbf 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterContextManagerBuilder.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterContextManagerBuilder.java
@@ -21,7 +21,7 @@ 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.rule.RuleConfigurationSubscribeCoordinator;
+import org.apache.shardingsphere.infra.rule.RuleChangedSubscriber;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import org.apache.shardingsphere.infra.util.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
@@ -94,8 +94,9 @@ public final class NewClusterContextManagerBuilder implements ContextManagerBuil
     }
     
     private void registerRuleConfigurationSubscribers(final MetaDataContexts metaDataContexts, final InstanceContext instanceContext) {
-        for (RuleConfigurationSubscribeCoordinator each : ShardingSphereServiceLoader.getServiceInstances(RuleConfigurationSubscribeCoordinator.class)) {
-            each.registerRuleConfigurationSubscriber(metaDataContexts.getMetaData().getDatabases(), instanceContext);
+        for (RuleChangedSubscriber each : ShardingSphereServiceLoader.getServiceInstances(RuleChangedSubscriber.class)) {
+            each.setDatabases(metaDataContexts.getMetaData().getDatabases());
+            each.setInstanceContext(instanceContext);
             instanceContext.getEventBusContext().register(each);
         }
     }