You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2026/03/19 06:04:45 UTC

(shardingsphere) branch master updated: Remove KeyGenerateStrategiesConfiguration to infra module (#38504)

This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 035e4e87586 Remove KeyGenerateStrategiesConfiguration to infra module (#38504)
035e4e87586 is described below

commit 035e4e875861ca5ba42a9d0038c2f66ce850d4ac
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Thu Mar 19 14:04:38 2026 +0800

    Remove KeyGenerateStrategiesConfiguration to infra module (#38504)
    
    * Remove KeyGenerateStrategiesConfiguration to infra module
    
    * Fix checkstyle
---
 .../sharding/api/config/ShardingRuleConfiguration.java  |  2 +-
 .../config/ShardingRuleConfigurationChecker.java        |  6 +++---
 .../changed/KeyGenerateStrategiesChangedProcessor.java  |  2 +-
 ...YamlKeyGenerateStrategyRuleConfigurationSwapper.java | 17 +++++------------
 .../config/ShardingRuleConfigurationCheckerTest.java    | 17 +++++------------
 .../ShardingRuleConfigurationEmptyCheckerTest.java      |  5 +++--
 .../KeyGenerateStrategyRuleChangedProcessorTest.java    | 11 ++++-------
 .../sharding/yaml/ShardingRuleConfigurationYamlIT.java  | 17 +++++------------
 .../keygen/KeyGenerateStrategiesConfiguration.java      |  2 +-
 .../ColumnKeyGenerateStrategiesRuleConfiguration.java   | 13 +++++++------
 .../SequenceKeyGenerateStrategiesRuleConfiguration.java | 11 ++++++-----
 11 files changed, 41 insertions(+), 62 deletions(-)

diff --git a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java b/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
index 8e2852aa518..0ab866b3a67 100644
--- a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
+++ b/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleC
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
 
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationChecker.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationChecker.java
index e291bf805af..827cb6bea37 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationChecker.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationChecker.java
@@ -32,10 +32,10 @@ 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;
 import org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.ColumnKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.ColumnKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.SequenceKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.SequenceKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategiesChangedProcessor.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategiesChangedProcessor.java
index 64b33ea1fce..7f5efa2de92 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategiesChangedProcessor.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategiesChangedProcessor.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.spi.rule.RuleChangedItemType;
 import org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyRuleConfiguration;
 import org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyRuleConfigurationSwapper;
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/YamlKeyGenerateStrategyRuleConfigurationSwapper.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/YamlKeyGenerateStrategyRuleConfigurationSwapper.java
index 3cd88bf2ac4..1ae10825086 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/YamlKeyGenerateStrategyRuleConfigurationSwapper.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/YamlKeyGenerateStrategyRuleConfigurationSwapper.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.sharding.yaml.swapper.strategy;
 
 import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.ColumnKeyGenerateStrategiesRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.SequenceKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.ColumnKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.SequenceKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyRuleConfiguration;
 
 /**
@@ -45,15 +45,8 @@ public final class YamlKeyGenerateStrategyRuleConfigurationSwapper implements Ya
     @Override
     public KeyGenerateStrategiesConfiguration swapToObject(final YamlKeyGenerateStrategyRuleConfiguration yamlConfig) {
         if ("sequence".equalsIgnoreCase(yamlConfig.getKeyGenerateType())) {
-            SequenceKeyGenerateStrategiesRuleConfiguration result = new SequenceKeyGenerateStrategiesRuleConfiguration();
-            result.setKeyGeneratorName(yamlConfig.getKeyGeneratorName());
-            result.setKeyGenerateSequence(yamlConfig.getKeyGenerateSequence());
-            return result;
+            return new SequenceKeyGenerateStrategiesRuleConfiguration(yamlConfig.getKeyGeneratorName(), yamlConfig.getKeyGenerateSequence());
         }
-        ColumnKeyGenerateStrategiesRuleConfiguration result = new ColumnKeyGenerateStrategiesRuleConfiguration();
-        result.setKeyGeneratorName(yamlConfig.getKeyGeneratorName());
-        result.setLogicTable(yamlConfig.getLogicTable());
-        result.setKeyGenerateColumn(yamlConfig.getKeyGenerateColumn());
-        return result;
+        return new ColumnKeyGenerateStrategiesRuleConfiguration(yamlConfig.getKeyGeneratorName(), yamlConfig.getLogicTable(), yamlConfig.getKeyGenerateColumn());
     }
 }
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationCheckerTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationCheckerTest.java
index 85a205f56c7..4cb4ed8e7b5 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationCheckerTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationCheckerTest.java
@@ -27,10 +27,10 @@ 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;
 import org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.ColumnKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.ColumnKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.SequenceKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.SequenceKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
@@ -188,17 +188,10 @@ class ShardingRuleConfigurationCheckerTest {
     }
     
     private KeyGenerateStrategiesConfiguration createColumnKeyGenerateStrategyRuleConfiguration(final String keyGeneratorName) {
-        ColumnKeyGenerateStrategiesRuleConfiguration result = new ColumnKeyGenerateStrategiesRuleConfiguration();
-        result.setKeyGeneratorName(keyGeneratorName);
-        result.setLogicTable("foo_tbl");
-        result.setKeyGenerateColumn("foo_col");
-        return result;
+        return new ColumnKeyGenerateStrategiesRuleConfiguration(keyGeneratorName, "foo_tbl", "foo_col");
     }
     
     private KeyGenerateStrategiesConfiguration createSequenceKeyGenerateStrategyRuleConfiguration(final String keyGeneratorName) {
-        SequenceKeyGenerateStrategiesRuleConfiguration result = new SequenceKeyGenerateStrategiesRuleConfiguration();
-        result.setKeyGeneratorName(keyGeneratorName);
-        result.setKeyGenerateSequence("foo_sequence");
-        return result;
+        return new SequenceKeyGenerateStrategiesRuleConfiguration(keyGeneratorName, "foo_sequence");
     }
 }
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationEmptyCheckerTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationEmptyCheckerTest.java
index 2e8456e0281..44ebbd12e62 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationEmptyCheckerTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/config/ShardingRuleConfigurationEmptyCheckerTest.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleC
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.ColumnKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.ColumnKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration;
 import org.junit.jupiter.api.BeforeEach;
@@ -105,7 +105,8 @@ class ShardingRuleConfigurationEmptyCheckerTest {
     @Test
     void assertIsNotEmptyWithKeyGenerateStrategies() {
         ShardingRuleConfiguration ruleConfig = new ShardingRuleConfiguration();
-        ruleConfig.getKeyGenerateStrategies().put("foo_key_generate_strategy", new ColumnKeyGenerateStrategiesRuleConfiguration());
+        ruleConfig.getKeyGenerateStrategies().put("foo_key_generate_strategy",
+                new ColumnKeyGenerateStrategiesRuleConfiguration("foo_algo", "foo_tbl", "foo_col"));
         assertFalse(checker.isEmpty(ruleConfig));
     }
     
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategyRuleChangedProcessorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategyRuleChangedProcessorTest.java
index b5fbfb2d4ef..458997e4355 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategyRuleChangedProcessorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGenerateStrategyRuleChangedProcessorTest.java
@@ -24,8 +24,8 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.spi.rule.RuleChangedItemType;
 import org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.ColumnKeyGenerateStrategiesRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.ColumnKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyRuleConfiguration;
 import org.hamcrest.CoreMatchers;
@@ -79,10 +79,7 @@ class KeyGenerateStrategyRuleChangedProcessorTest {
     
     @Test
     void assertChangeRuleItemConfiguration() {
-        ColumnKeyGenerateStrategiesRuleConfiguration toBeChangedItemConfig = new ColumnKeyGenerateStrategiesRuleConfiguration();
-        toBeChangedItemConfig.setKeyGeneratorName("foo_algo");
-        toBeChangedItemConfig.setLogicTable("foo_tbl");
-        toBeChangedItemConfig.setKeyGenerateColumn("foo_col");
+        ColumnKeyGenerateStrategiesRuleConfiguration toBeChangedItemConfig = new ColumnKeyGenerateStrategiesRuleConfiguration("foo_algo", "foo_tbl", "foo_col");
         ShardingRuleConfiguration currentRuleConfig = new ShardingRuleConfiguration();
         processor.changeRuleItemConfiguration("foo_strategy", currentRuleConfig, toBeChangedItemConfig);
         assertThat(currentRuleConfig.getKeyGenerateStrategies().size(), is(1));
@@ -92,7 +89,7 @@ class KeyGenerateStrategyRuleChangedProcessorTest {
     @Test
     void assertDropRuleItemConfiguration() {
         ShardingRuleConfiguration currentRuleConfig = new ShardingRuleConfiguration();
-        currentRuleConfig.getKeyGenerateStrategies().put("foo_strategy", new ColumnKeyGenerateStrategiesRuleConfiguration());
+        currentRuleConfig.getKeyGenerateStrategies().put("foo_strategy", new ColumnKeyGenerateStrategiesRuleConfiguration("foo_algo", "foo_tbl", "foo_col"));
         processor.dropRuleItemConfiguration("foo_strategy", currentRuleConfig);
         assertTrue(currentRuleConfig.getKeyGenerateStrategies().isEmpty());
     }
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingRuleConfigurationYamlIT.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingRuleConfigurationYamlIT.java
index 3237c5f1af5..d5f9f9143c6 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingRuleConfigurationYamlIT.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingRuleConfigurationYamlIT.java
@@ -27,10 +27,10 @@ import org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheOptionsC
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.ColumnKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.ColumnKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategiesConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.SequenceKeyGenerateStrategiesRuleConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
+import org.apache.shardingsphere.infra.config.keygen.impl.SequenceKeyGenerateStrategiesRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.HintShardingStrategyConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration;
@@ -163,17 +163,10 @@ class ShardingRuleConfigurationYamlIT extends YamlRuleConfigurationIT {
     }
     
     private static KeyGenerateStrategiesConfiguration createColumnKeyGenerateStrategyRuleConfiguration() {
-        ColumnKeyGenerateStrategiesRuleConfiguration result = new ColumnKeyGenerateStrategiesRuleConfiguration();
-        result.setKeyGeneratorName("snowflake");
-        result.setLogicTable("t_order");
-        result.setKeyGenerateColumn("id");
-        return result;
+        return new ColumnKeyGenerateStrategiesRuleConfiguration("snowflake", "t_order", "id");
     }
     
     private static KeyGenerateStrategiesConfiguration createSequenceKeyGenerateStrategyRuleConfiguration() {
-        SequenceKeyGenerateStrategiesRuleConfiguration result = new SequenceKeyGenerateStrategiesRuleConfiguration();
-        result.setKeyGeneratorName("snowflake");
-        result.setKeyGenerateSequence("sequence_name");
-        return result;
+        return new SequenceKeyGenerateStrategiesRuleConfiguration("snowflake", "sequence_name");
     }
 }
diff --git a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/KeyGenerateStrategiesConfiguration.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/KeyGenerateStrategiesConfiguration.java
similarity index 94%
rename from features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/KeyGenerateStrategiesConfiguration.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/KeyGenerateStrategiesConfiguration.java
index 6224c54aee3..861de72a34d 100644
--- a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/KeyGenerateStrategiesConfiguration.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/KeyGenerateStrategiesConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sharding.api.config.strategy.keygen;
+package org.apache.shardingsphere.infra.config.keygen;
 
 /**
  * Key generate strategies configuration.
diff --git a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/ColumnKeyGenerateStrategiesRuleConfiguration.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/impl/ColumnKeyGenerateStrategiesRuleConfiguration.java
similarity index 76%
rename from features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/ColumnKeyGenerateStrategiesRuleConfiguration.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/impl/ColumnKeyGenerateStrategiesRuleConfiguration.java
index d1d10fb416f..e609f951de1 100644
--- a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/ColumnKeyGenerateStrategiesRuleConfiguration.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/impl/ColumnKeyGenerateStrategiesRuleConfiguration.java
@@ -15,23 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sharding.api.config.strategy.keygen;
+package org.apache.shardingsphere.infra.config.keygen.impl;
 
 import lombok.Getter;
-import lombok.Setter;
+import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
 
 /**
  * Column key generate strategies configuration.
  */
+@RequiredArgsConstructor
 @Getter
-@Setter
 public final class ColumnKeyGenerateStrategiesRuleConfiguration implements KeyGenerateStrategiesConfiguration {
     
-    private String keyGeneratorName;
+    private final String keyGeneratorName;
     
-    private String logicTable;
+    private final String logicTable;
     
-    private String keyGenerateColumn;
+    private final String keyGenerateColumn;
     
     @Override
     public String getKeyGenerateType() {
diff --git a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/SequenceKeyGenerateStrategiesRuleConfiguration.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/impl/SequenceKeyGenerateStrategiesRuleConfiguration.java
similarity index 78%
rename from features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/SequenceKeyGenerateStrategiesRuleConfiguration.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/impl/SequenceKeyGenerateStrategiesRuleConfiguration.java
index ca1bd2d8020..b1cb9a8a4f2 100644
--- a/features/sharding/api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/keygen/SequenceKeyGenerateStrategiesRuleConfiguration.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/keygen/impl/SequenceKeyGenerateStrategiesRuleConfiguration.java
@@ -15,21 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sharding.api.config.strategy.keygen;
+package org.apache.shardingsphere.infra.config.keygen.impl;
 
 import lombok.Getter;
-import lombok.Setter;
+import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.infra.config.keygen.KeyGenerateStrategiesConfiguration;
 
 /**
  * Sequence key generate strategies rule configuration.
  */
+@RequiredArgsConstructor
 @Getter
-@Setter
 public final class SequenceKeyGenerateStrategiesRuleConfiguration implements KeyGenerateStrategiesConfiguration {
     
-    private String keyGeneratorName;
+    private final String keyGeneratorName;
     
-    private String keyGenerateSequence;
+    private final String keyGenerateSequence;
     
     @Override
     public String getKeyGenerateType() {