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

zhangliang 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 c6d5cbf  using SPI to instantiate MasterSlaveRouteDecorator (#6954)
c6d5cbf is described below

commit c6d5cbfa51713edc8ea19bad8886582a05a7876d
Author: DanielWei <[email protected]>
AuthorDate: Fri Aug 21 17:30:02 2020 +0800

    using SPI to instantiate MasterSlaveRouteDecorator (#6954)
---
 .../route/engine/MasterSlaveRouteDecoratorTest.java       | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/test/java/org/apache/shardingsphere/masterslave/route/engine/MasterSlaveRouteDecoratorTest.java
 
b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/test/java/org/apache/shardingsphere/masterslave/route/engine/MasterSlaveRouteDecoratorTest.java
index 936bdd7..5c2f334 100644
--- 
a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/test/java/org/apache/shardingsphere/masterslave/route/engine/MasterSlaveRouteDecoratorTest.java
+++ 
b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/test/java/org/apache/shardingsphere/masterslave/route/engine/MasterSlaveRouteDecoratorTest.java
@@ -17,6 +17,9 @@
 
 package org.apache.shardingsphere.masterslave.route.engine;
 
+import org.apache.shardingsphere.infra.route.decorator.RouteDecorator;
+import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
+import org.apache.shardingsphere.infra.spi.order.OrderedSPIRegistry;
 import 
org.apache.shardingsphere.masterslave.api.config.rule.MasterSlaveDataSourceRuleConfiguration;
 import 
org.apache.shardingsphere.masterslave.api.config.MasterSlaveRuleConfiguration;
 import org.apache.shardingsphere.masterslave.rule.MasterSlaveRule;
@@ -72,12 +75,18 @@ public final class MasterSlaveRouteDecoratorTest {
     private SelectStatement selectStatement;
     
     private MasterSlaveRouteDecorator routeDecorator;
-    
+
+    static {
+        ShardingSphereServiceLoader.register(RouteDecorator.class);
+    }
+
     @Before
     public void setUp() {
-        routeDecorator = new MasterSlaveRouteDecorator();
         masterSlaveRule = new MasterSlaveRule(new MasterSlaveRuleConfiguration(
                 Collections.singleton(new 
MasterSlaveDataSourceRuleConfiguration(DATASOURCE_NAME, MASTER_DATASOURCE, 
Collections.singletonList(SLAVE_DATASOURCE), null)), Collections.emptyMap()));
+        routeDecorator = (MasterSlaveRouteDecorator) OrderedSPIRegistry
+                .getRegisteredServices(Collections.singleton(masterSlaveRule), 
RouteDecorator.class)
+                .get(masterSlaveRule);
     }
     
     @After
@@ -148,7 +157,7 @@ public final class MasterSlaveRouteDecoratorTest {
         assertThat(routedDataSourceNames.next(), is(MASTER_DATASOURCE));
         assertThat(actual.getParameters().get(0), is("true"));
     }
-    
+
     private RouteContext mockSQLRouteContext(final SQLStatement sqlStatement) {
         when(sqlStatementContext.getSqlStatement()).thenReturn(sqlStatement);
         return new RouteContext(sqlStatementContext, Collections.emptyList(), 
mockRouteResult());

Reply via email to