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

zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 77a8c4cbcb7 Refactor ReadwriteSplittingRule and ShardingRule (#23734)
77a8c4cbcb7 is described below

commit 77a8c4cbcb72b659c4aac61fbd45fcab14b481fc
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jan 27 04:04:51 2023 +0800

    Refactor ReadwriteSplittingRule and ShardingRule (#23734)
---
 .../readwritesplitting/rule/ReadwriteSplittingRule.java              | 5 +++--
 .../java/org/apache/shardingsphere/sharding/rule/ShardingRule.java   | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
index c425c6106d1..7fdb8a9b748 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
@@ -33,7 +33,7 @@ import 
org.apache.shardingsphere.infra.rule.identifier.type.exportable.constant.
 import 
org.apache.shardingsphere.infra.rule.identifier.type.exportable.constant.ExportableItemConstants;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.util.expr.InlineExpressionParser;
-import 
org.apache.shardingsphere.infra.util.spi.type.required.RequiredSPIRegistry;
+import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry;
 import org.apache.shardingsphere.mode.metadata.storage.StorageNodeStatus;
 import 
org.apache.shardingsphere.mode.metadata.storage.event.StorageNodeDataSourceChangedEvent;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
@@ -52,6 +52,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
+import java.util.Properties;
 import java.util.stream.Collectors;
 
 /**
@@ -80,7 +81,7 @@ public final class ReadwriteSplittingRule implements 
DatabaseRule, DataSourceCon
     private Map<String, ReadwriteSplittingDataSourceRule> 
createReadwriteSplittingDataSourceRules(final 
ReadwriteSplittingDataSourceRuleConfiguration config,
                                                                                
                   final Collection<ShardingSphereRule> builtRules) {
         ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = 
loadBalancers.getOrDefault(
-                config.getName() + "." + config.getLoadBalancerName(), 
RequiredSPIRegistry.getService(ReadQueryLoadBalanceAlgorithm.class));
+                config.getName() + "." + config.getLoadBalancerName(), 
TypedSPIRegistry.getService(ReadQueryLoadBalanceAlgorithm.class, null, new 
Properties()));
         return null == config.getStaticStrategy()
                 ? createDynamicReadwriteSplittingDataSourceRules(config, 
builtRules, loadBalanceAlgorithm)
                 : createStaticReadwriteSplittingDataSourceRules(config, 
builtRules, loadBalanceAlgorithm);
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
index 0b529dfe2d2..f915add7df9 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
@@ -35,7 +35,7 @@ import 
org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRul
 import org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.util.expr.InlineExpressionParser;
-import 
org.apache.shardingsphere.infra.util.spi.type.required.RequiredSPIRegistry;
+import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry;
 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.ShardingTableReferenceRuleConfiguration;
@@ -75,6 +75,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
+import java.util.Properties;
 import java.util.TreeSet;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -129,7 +130,7 @@ public final class ShardingRule implements DatabaseRule, 
DataNodeContainedRule,
         defaultTableShardingStrategyConfig = null == 
ruleConfig.getDefaultTableShardingStrategy() ? new 
NoneShardingStrategyConfiguration() : 
ruleConfig.getDefaultTableShardingStrategy();
         defaultAuditStrategy = null == ruleConfig.getDefaultAuditStrategy() ? 
new ShardingAuditStrategyConfiguration(Collections.emptyList(), true) : 
ruleConfig.getDefaultAuditStrategy();
         defaultKeyGenerateAlgorithm = null == 
ruleConfig.getDefaultKeyGenerateStrategy()
-                ? RequiredSPIRegistry.getService(KeyGenerateAlgorithm.class)
+                ? TypedSPIRegistry.getService(KeyGenerateAlgorithm.class, 
null, new Properties())
                 : 
keyGenerators.get(ruleConfig.getDefaultKeyGenerateStrategy().getKeyGeneratorName());
         defaultShardingColumn = ruleConfig.getDefaultShardingColumn();
         shardingTableDataNodes = createShardingTableDataNodes(tableRules);

Reply via email to