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 142a4c52006 Refactor RuleDefinitionUpdater.getType() (#27972)
142a4c52006 is described below

commit 142a4c52006807c7e2bd02a8c8bc2542917193d8
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Aug 7 19:32:18 2023 +0800

    Refactor RuleDefinitionUpdater.getType() (#27972)
---
 .../update/CreateBroadcastTableRuleStatementUpdater.java       |  4 ++--
 .../handler/update/DropBroadcastTableRuleStatementUpdater.java |  4 ++--
 .../handler/update/AlterEncryptRuleStatementUpdater.java       |  4 ++--
 .../handler/update/CreateEncryptRuleStatementUpdater.java      |  4 ++--
 .../handler/update/DropEncryptRuleStatementUpdater.java        |  4 ++--
 .../distsql/handler/update/AlterMaskRuleStatementUpdater.java  |  4 ++--
 .../distsql/handler/update/CreateMaskRuleStatementUpdater.java | 10 +++++-----
 .../distsql/handler/update/DropMaskRuleStatementUpdater.java   |  4 ++--
 .../update/AlterReadwriteSplittingRuleStatementUpdater.java    |  4 ++--
 .../update/CreateReadwriteSplittingRuleStatementUpdater.java   |  4 ++--
 .../update/DropReadwriteSplittingRuleStatementUpdater.java     |  4 ++--
 .../update/AlterDefaultShadowAlgorithmStatementUpdater.java    |  4 ++--
 .../handler/update/AlterShadowRuleStatementUpdater.java        |  4 ++--
 .../update/CreateDefaultShadowAlgorithmStatementUpdater.java   |  4 ++--
 .../handler/update/CreateShadowRuleStatementUpdater.java       |  4 ++--
 .../update/DropDefaultShadowAlgorithmStatementUpdater.java     |  4 ++--
 .../handler/update/DropShadowAlgorithmStatementUpdater.java    |  4 ++--
 .../distsql/handler/update/DropShadowRuleStatementUpdater.java |  6 +++---
 .../update/AlterDefaultShardingStrategyStatementUpdater.java   |  4 ++--
 .../AlterShardingTableReferenceRuleStatementUpdater.java       |  4 ++--
 .../handler/update/AlterShardingTableRuleStatementUpdater.java |  6 +++---
 .../update/CreateDefaultShardingStrategyStatementUpdater.java  |  4 ++--
 .../update/CreateShardingTableRuleStatementUpdater.java        |  4 ++--
 .../update/DropDefaultShardingStrategyStatementUpdater.java    |  4 ++--
 .../handler/update/DropShardingAlgorithmStatementUpdater.java  |  4 ++--
 .../handler/update/DropShardingAuditorStatementUpdater.java    |  6 +++---
 .../update/DropShardingKeyGeneratorStatementUpdater.java       |  6 +++---
 .../update/DropShardingTableReferenceRuleStatementUpdater.java |  6 +++---
 .../handler/update/DropShardingTableRuleStatementUpdater.java  |  6 +++---
 .../distsql/handler/update/RuleDefinitionUpdater.java          |  3 +++
 .../handler/update/LoadSingleTableStatementUpdater.java        |  4 ++--
 .../SetDefaultSingleTableStorageUnitStatementUpdater.java      |  6 +++---
 .../handler/update/UnloadSingleTableStatementUpdater.java      |  4 ++--
 .../distsql/rdl/rule/NewRuleDefinitionBackendHandler.java      |  2 +-
 .../handler/distsql/rdl/rule/RuleDefinitionBackendHandler.java |  2 +-
 .../distsql/fixture/FixtureRuleDefinitionCreateUpdater.java    |  4 ++--
 36 files changed, 81 insertions(+), 78 deletions(-)

diff --git 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
index c923a71a6b7..41a6c8d6f5a 100644
--- 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
+++ 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
@@ -74,7 +74,7 @@ public final class CreateBroadcastTableRuleStatementUpdater 
implements RuleDefin
     }
     
     @Override
-    public String getType() {
-        return CreateBroadcastTableRuleStatement.class.getName();
+    public Class<CreateBroadcastTableRuleStatement> getType() {
+        return CreateBroadcastTableRuleStatement.class;
     }
 }
diff --git 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
index 1976d16f34c..3ccdf5918aa 100644
--- 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
+++ 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
@@ -85,7 +85,7 @@ public final class DropBroadcastTableRuleStatementUpdater 
implements RuleDefinit
     }
     
     @Override
-    public String getType() {
-        return DropBroadcastTableRuleStatement.class.getName();
+    public Class<DropBroadcastTableRuleStatement> getType() {
+        return DropBroadcastTableRuleStatement.class;
     }
 }
diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
index 81b33a8f69c..4f1f84b110e 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
@@ -147,7 +147,7 @@ public final class AlterEncryptRuleStatementUpdater 
implements RuleDefinitionAlt
     }
     
     @Override
-    public String getType() {
-        return AlterEncryptRuleStatement.class.getName();
+    public Class<AlterEncryptRuleStatement> getType() {
+        return AlterEncryptRuleStatement.class;
     }
 }
diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
index 00191d36bc6..b76ce9a2328 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
@@ -125,7 +125,7 @@ public final class CreateEncryptRuleStatementUpdater 
implements RuleDefinitionCr
     }
     
     @Override
-    public String getType() {
-        return CreateEncryptRuleStatement.class.getName();
+    public Class<CreateEncryptRuleStatement> getType() {
+        return CreateEncryptRuleStatement.class;
     }
 }
diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleStatementUpdater.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleStatementUpdater.java
index 59378f5724b..bda32ef159a 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleStatementUpdater.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleStatementUpdater.java
@@ -107,7 +107,7 @@ public final class DropEncryptRuleStatementUpdater 
implements RuleDefinitionDrop
     }
     
     @Override
-    public String getType() {
-        return DropEncryptRuleStatement.class.getName();
+    public Class<DropEncryptRuleStatement> getType() {
+        return DropEncryptRuleStatement.class;
     }
 }
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
index ee8173ef306..d063957df38 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
@@ -112,7 +112,7 @@ public final class AlterMaskRuleStatementUpdater implements 
RuleDefinitionAlterU
     }
     
     @Override
-    public String getType() {
-        return AlterMaskRuleStatement.class.getName();
+    public Class<AlterMaskRuleStatement> getType() {
+        return AlterMaskRuleStatement.class;
     }
 }
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleStatementUpdater.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleStatementUpdater.java
index 1dc2342d333..c9303817abd 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleStatementUpdater.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleStatementUpdater.java
@@ -70,11 +70,6 @@ public final class CreateMaskRuleStatementUpdater implements 
RuleDefinitionCreat
         return MaskRuleConfiguration.class;
     }
     
-    @Override
-    public String getType() {
-        return CreateMaskRuleStatement.class.getName();
-    }
-    
     @Override
     public MaskRuleConfiguration buildToBeCreatedRuleConfiguration(final 
MaskRuleConfiguration currentRuleConfig, final CreateMaskRuleStatement 
sqlStatement) {
         return MaskRuleStatementConverter.convert(sqlStatement.getRules());
@@ -106,4 +101,9 @@ public final class CreateMaskRuleStatementUpdater 
implements RuleDefinitionCreat
         toBeCreatedRuleConfig.getTables().removeIf(each -> 
toBeRemovedTables.contains(each.getName()));
         
toBeCreatedRuleConfig.getMaskAlgorithms().keySet().removeIf(toBeRemovedAlgorithms::contains);
     }
+    
+    @Override
+    public Class<CreateMaskRuleStatement> getType() {
+        return CreateMaskRuleStatement.class;
+    }
 }
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleStatementUpdater.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleStatementUpdater.java
index 267ba37a8cd..9aa9f0a4495 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleStatementUpdater.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleStatementUpdater.java
@@ -101,7 +101,7 @@ public final class DropMaskRuleStatementUpdater implements 
RuleDefinitionDropUpd
     }
     
     @Override
-    public String getType() {
-        return DropMaskRuleStatement.class.getName();
+    public Class<DropMaskRuleStatement> getType() {
+        return DropMaskRuleStatement.class;
     }
 }
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingRuleStatementUpdater.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingRuleStatementUpdater.java
index df8b16e1a4a..a1816f100b5 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingRuleStatementUpdater.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingRuleStatementUpdater.java
@@ -92,7 +92,7 @@ public final class 
AlterReadwriteSplittingRuleStatementUpdater implements RuleDe
     }
     
     @Override
-    public String getType() {
-        return AlterReadwriteSplittingRuleStatement.class.getName();
+    public Class<AlterReadwriteSplittingRuleStatement> getType() {
+        return AlterReadwriteSplittingRuleStatement.class;
     }
 }
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdater.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdater.java
index fa0a9b59a4a..4230a0b642d 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdater.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdater.java
@@ -71,7 +71,7 @@ public final class 
CreateReadwriteSplittingRuleStatementUpdater implements RuleD
     }
     
     @Override
-    public String getType() {
-        return CreateReadwriteSplittingRuleStatement.class.getName();
+    public Class<CreateReadwriteSplittingRuleStatement> getType() {
+        return CreateReadwriteSplittingRuleStatement.class;
     }
 }
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
index e5092a27b61..5572585fa2f 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
@@ -140,7 +140,7 @@ public final class 
DropReadwriteSplittingRuleStatementUpdater implements RuleDef
     }
     
     @Override
-    public String getType() {
-        return DropReadwriteSplittingRuleStatement.class.getName();
+    public Class<DropReadwriteSplittingRuleStatement> getType() {
+        return DropReadwriteSplittingRuleStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterDefaultShadowAlgorithmStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterDefaultShadowAlgorithmStatementUpdater.java
index d2f1010c1af..2f706eabfcd 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterDefaultShadowAlgorithmStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterDefaultShadowAlgorithmStatementUpdater.java
@@ -90,7 +90,7 @@ public final class 
AlterDefaultShadowAlgorithmStatementUpdater implements RuleDe
     }
     
     @Override
-    public String getType() {
-        return AlterDefaultShadowAlgorithmStatement.class.getName();
+    public Class<AlterDefaultShadowAlgorithmStatement> getType() {
+        return AlterDefaultShadowAlgorithmStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
index 202c2e9accf..84b28cb0dc0 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/AlterShadowRuleStatementUpdater.java
@@ -99,7 +99,7 @@ public final class AlterShadowRuleStatementUpdater implements 
RuleDefinitionAlte
     }
     
     @Override
-    public String getType() {
-        return AlterShadowRuleStatement.class.getName();
+    public Class<AlterShadowRuleStatement> getType() {
+        return AlterShadowRuleStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmStatementUpdater.java
index 164bd88b9f6..4a4f407cfa9 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmStatementUpdater.java
@@ -100,7 +100,7 @@ public final class 
CreateDefaultShadowAlgorithmStatementUpdater implements RuleD
     }
     
     @Override
-    public String getType() {
-        return CreateDefaultShadowAlgorithmStatement.class.getName();
+    public Class<CreateDefaultShadowAlgorithmStatement> getType() {
+        return CreateDefaultShadowAlgorithmStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
index 6419e584dc5..c446d906cc0 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleStatementUpdater.java
@@ -100,7 +100,7 @@ public final class CreateShadowRuleStatementUpdater 
implements RuleDefinitionCre
     }
     
     @Override
-    public String getType() {
-        return CreateShadowRuleStatement.class.getName();
+    public Class<CreateShadowRuleStatement> getType() {
+        return CreateShadowRuleStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
index 9cb712f080a..f25327fa971 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropDefaultShadowAlgorithmStatementUpdater.java
@@ -75,7 +75,7 @@ public final class DropDefaultShadowAlgorithmStatementUpdater 
implements RuleDef
     }
     
     @Override
-    public String getType() {
-        return DropDefaultShadowAlgorithmStatement.class.getName();
+    public Class<DropDefaultShadowAlgorithmStatement> getType() {
+        return DropDefaultShadowAlgorithmStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
index b13f6040336..c1b8ecf6cab 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowAlgorithmStatementUpdater.java
@@ -106,7 +106,7 @@ public final class DropShadowAlgorithmStatementUpdater 
implements RuleDefinition
     }
     
     @Override
-    public String getType() {
-        return DropShadowAlgorithmStatement.class.getName();
+    public Class<DropShadowAlgorithmStatement> getType() {
+        return DropShadowAlgorithmStatement.class;
     }
 }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
index ccc64402abe..1aa98110506 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/DropShadowRuleStatementUpdater.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.shadow.distsql.handler.update;
 
 import 
org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
 import 
org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration;
 import 
org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration;
@@ -138,7 +138,7 @@ public final class DropShadowRuleStatementUpdater 
implements RuleDefinitionDropU
     }
     
     @Override
-    public String getType() {
-        return DropShadowRuleStatement.class.getName();
+    public Class<DropShadowRuleStatement> getType() {
+        return DropShadowRuleStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterDefaultShardingStrategyStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterDefaultShardingStrategyStatementUpdater.java
index 21335d80388..ed96be7da53 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterDefaultShardingStrategyStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterDefaultShardingStrategyStatementUpdater.java
@@ -137,7 +137,7 @@ public final class 
AlterDefaultShardingStrategyStatementUpdater implements RuleD
     }
     
     @Override
-    public String getType() {
-        return AlterDefaultShardingStrategyStatement.class.getName();
+    public Class<AlterDefaultShardingStrategyStatement> getType() {
+        return AlterDefaultShardingStrategyStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
index 5fe8fdbb45d..dae6507856d 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
@@ -131,7 +131,7 @@ public final class 
AlterShardingTableReferenceRuleStatementUpdater implements Ru
     }
     
     @Override
-    public String getType() {
-        return AlterShardingTableReferenceRuleStatement.class.getName();
+    public Class<AlterShardingTableReferenceRuleStatement> getType() {
+        return AlterShardingTableReferenceRuleStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableRuleStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableRuleStatementUpdater.java
index 2a5f905a0eb..d19dc4077f4 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableRuleStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableRuleStatementUpdater.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.sharding.distsql.handler.update;
 
 import 
org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionAlterUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
@@ -99,7 +99,7 @@ public final class AlterShardingTableRuleStatementUpdater 
implements RuleDefinit
     }
     
     @Override
-    public String getType() {
-        return AlterShardingTableRuleStatement.class.getName();
+    public Class<AlterShardingTableRuleStatement> getType() {
+        return AlterShardingTableRuleStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyStatementUpdater.java
index d7cb01229e2..79e74869d3e 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateDefaultShardingStrategyStatementUpdater.java
@@ -140,7 +140,7 @@ public final class 
CreateDefaultShardingStrategyStatementUpdater implements Rule
     }
     
     @Override
-    public String getType() {
-        return CreateDefaultShardingStrategyStatement.class.getName();
+    public Class<CreateDefaultShardingStrategyStatement> getType() {
+        return CreateDefaultShardingStrategyStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleStatementUpdater.java
index 25cc271be49..5dd249535f8 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableRuleStatementUpdater.java
@@ -79,7 +79,7 @@ public final class CreateShardingTableRuleStatementUpdater 
implements RuleDefini
     }
     
     @Override
-    public String getType() {
-        return CreateShardingTableRuleStatement.class.getName();
+    public Class<CreateShardingTableRuleStatement> getType() {
+        return CreateShardingTableRuleStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropDefaultShardingStrategyStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropDefaultShardingStrategyStatementUpdater.java
index 02d14377dc9..ba6420a92bd 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropDefaultShardingStrategyStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropDefaultShardingStrategyStatementUpdater.java
@@ -103,7 +103,7 @@ public final class 
DropDefaultShardingStrategyStatementUpdater implements RuleDe
     }
     
     @Override
-    public String getType() {
-        return DropDefaultShardingStrategyStatement.class.getName();
+    public Class<DropDefaultShardingStrategyStatement> getType() {
+        return DropDefaultShardingStrategyStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
index c59b8b45c0d..48d9faa2803 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
@@ -125,7 +125,7 @@ public final class DropShardingAlgorithmStatementUpdater 
implements RuleDefiniti
     }
     
     @Override
-    public String getType() {
-        return DropShardingAlgorithmStatement.class.getName();
+    public Class<DropShardingAlgorithmStatement> getType() {
+        return DropShardingAlgorithmStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorStatementUpdater.java
index 910425c3211..d47ed9b44ba 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorStatementUpdater.java
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.sharding.distsql.handler.update;
 import 
org.apache.shardingsphere.distsql.handler.exception.algorithm.AlgorithmInUsedException;
 import 
org.apache.shardingsphere.distsql.handler.exception.algorithm.MissingRequiredAlgorithmException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
 import 
org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingAuditorStatement;
@@ -98,7 +98,7 @@ public final class DropShardingAuditorStatementUpdater 
implements RuleDefinition
     }
     
     @Override
-    public String getType() {
-        return DropShardingAuditorStatement.class.getName();
+    public Class<DropShardingAuditorStatement> getType() {
+        return DropShardingAuditorStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
index 10621294e53..8e6d3d39546 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorStatementUpdater.java
@@ -21,8 +21,8 @@ import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.distsql.handler.exception.algorithm.AlgorithmInUsedException;
 import 
org.apache.shardingsphere.distsql.handler.exception.algorithm.MissingRequiredAlgorithmException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
 import 
org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingKeyGeneratorStatement;
@@ -100,7 +100,7 @@ public final class DropShardingKeyGeneratorStatementUpdater 
implements RuleDefin
     }
     
     @Override
-    public String getType() {
-        return DropShardingKeyGeneratorStatement.class.getName();
+    public Class<DropShardingKeyGeneratorStatement> getType() {
+        return DropShardingKeyGeneratorStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
index 0cae084f5c0..75e82c74fc1 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.sharding.distsql.handler.update;
 
 import 
org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingTableReferenceRuleStatement;
@@ -92,7 +92,7 @@ public final class 
DropShardingTableReferenceRuleStatementUpdater implements Rul
     }
     
     @Override
-    public String getType() {
-        return DropShardingTableReferenceRuleStatement.class.getName();
+    public Class<DropShardingTableReferenceRuleStatement> getType() {
+        return DropShardingTableReferenceRuleStatement.class;
     }
 }
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
index a3f9bb3ab5e..f6f77c248e8 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
@@ -21,8 +21,8 @@ import com.google.common.base.Splitter;
 import 
org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
 import 
org.apache.shardingsphere.distsql.handler.exception.rule.RuleInUsedException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
@@ -171,7 +171,7 @@ public final class DropShardingTableRuleStatementUpdater 
implements RuleDefiniti
     }
     
     @Override
-    public String getType() {
-        return DropShardingTableRuleStatement.class.getName();
+    public Class<DropShardingTableRuleStatement> getType() {
+        return DropShardingTableRuleStatement.class;
     }
 }
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/update/RuleDefinitionUpdater.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/update/RuleDefinitionUpdater.java
index 7c90a5b38cf..db311aafb2b 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/update/RuleDefinitionUpdater.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/update/RuleDefinitionUpdater.java
@@ -47,4 +47,7 @@ public interface RuleDefinitionUpdater<T extends 
SQLStatement, R extends RuleCon
      * @return rule configuration class
      */
     Class<R> getRuleConfigurationClass();
+    
+    @Override
+    Class<T> getType();
 }
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableStatementUpdater.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableStatementUpdater.java
index ae015183828..520f8e270ce 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableStatementUpdater.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableStatementUpdater.java
@@ -155,7 +155,7 @@ public final class LoadSingleTableStatementUpdater 
implements RuleDefinitionCrea
     }
     
     @Override
-    public String getType() {
-        return LoadSingleTableStatement.class.getName();
+    public Class<LoadSingleTableStatement> getType() {
+        return LoadSingleTableStatement.class;
     }
 }
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitStatementUpdater.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitStatementUpdater.java
index b8fd2552349..6a1dfbc2f86 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitStatementUpdater.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/SetDefaultSingleTableStorageUnitStatementUpdater.java
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.single.distsql.handler.update;
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.distsql.handler.exception.storageunit.MissingRequiredStorageUnitsException;
 import 
org.apache.shardingsphere.distsql.handler.update.RuleDefinitionCreateUpdater;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.single.api.config.SingleRuleConfiguration;
 import 
org.apache.shardingsphere.single.distsql.statement.rdl.SetDefaultSingleTableStorageUnitStatement;
 
@@ -64,7 +64,7 @@ public final class 
SetDefaultSingleTableStorageUnitStatementUpdater implements R
     }
     
     @Override
-    public String getType() {
-        return SetDefaultSingleTableStorageUnitStatement.class.getName();
+    public Class<SetDefaultSingleTableStorageUnitStatement> getType() {
+        return SetDefaultSingleTableStorageUnitStatement.class;
     }
 }
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableStatementUpdater.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableStatementUpdater.java
index 0d5bef358ec..8e3c16d8e47 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableStatementUpdater.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableStatementUpdater.java
@@ -114,7 +114,7 @@ public final class UnloadSingleTableStatementUpdater 
implements RuleDefinitionAl
     }
     
     @Override
-    public String getType() {
-        return UnloadSingleTableStatement.class.getName();
+    public Class<UnloadSingleTableStatement> getType() {
+        return UnloadSingleTableStatement.class;
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
index 8697617585b..60b4a1ec05a 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/NewRuleDefinitionBackendHandler.java
@@ -63,7 +63,7 @@ public final class NewRuleDefinitionBackendHandler<T extends 
RuleDefinitionState
     @SuppressWarnings({"rawtypes", "unchecked"})
     @Override
     protected ResponseHeader execute(final String databaseName, final T 
sqlStatement) {
-        RuleDefinitionUpdater ruleDefinitionUpdater = 
TypedSPILoader.getService(RuleDefinitionUpdater.class, 
sqlStatement.getClass().getName());
+        RuleDefinitionUpdater ruleDefinitionUpdater = 
TypedSPILoader.getService(RuleDefinitionUpdater.class, sqlStatement.getClass());
         Class<? extends RuleConfiguration> ruleConfigClass = 
ruleDefinitionUpdater.getRuleConfigurationClass();
         ShardingSphereDatabase database = 
ProxyContext.getInstance().getDatabase(databaseName);
         RuleConfiguration currentRuleConfig = 
findCurrentRuleConfiguration(database, ruleConfigClass).orElse(null);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/RuleDefinitionBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/RuleDefinitionBackendHandler.java
index 178a4a5fdb4..0eb13c5eaa5 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/RuleDefinitionBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/rule/RuleDefinitionBackendHandler.java
@@ -55,7 +55,7 @@ public final class RuleDefinitionBackendHandler<T extends 
RuleDefinitionStatemen
     @SuppressWarnings({"rawtypes", "unchecked"})
     @Override
     protected ResponseHeader execute(final String databaseName, final T 
sqlStatement) {
-        RuleDefinitionUpdater ruleDefinitionUpdater = 
TypedSPILoader.getService(RuleDefinitionUpdater.class, 
sqlStatement.getClass().getName());
+        RuleDefinitionUpdater ruleDefinitionUpdater = 
TypedSPILoader.getService(RuleDefinitionUpdater.class, sqlStatement.getClass());
         Class<? extends RuleConfiguration> ruleConfigClass = 
ruleDefinitionUpdater.getRuleConfigurationClass();
         ShardingSphereDatabase database = 
ProxyContext.getInstance().getDatabase(databaseName);
         RuleConfiguration currentRuleConfig = 
findCurrentRuleConfiguration(database, ruleConfigClass).orElse(null);
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureRuleDefinitionCreateUpdater.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureRuleDefinitionCreateUpdater.java
index 3f3b7ddc3cd..b5fce1bfa2c 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureRuleDefinitionCreateUpdater.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/fixture/FixtureRuleDefinitionCreateUpdater.java
@@ -41,7 +41,7 @@ public final class FixtureRuleDefinitionCreateUpdater 
implements RuleDefinitionC
     }
     
     @Override
-    public String getType() {
-        return CreateFixtureRuleStatement.class.getName();
+    public Class<CreateFixtureRuleStatement> getType() {
+        return CreateFixtureRuleStatement.class;
     }
 }


Reply via email to