You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2021/08/04 12:43:24 UTC
[shardingsphere] branch master updated: Minor refactor for proxy
(#11646)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 652d098 Minor refactor for proxy (#11646)
652d098 is described below
commit 652d0989904ba01e166a84aa1b8195d8289e2b49
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Wed Aug 4 20:42:55 2021 +0800
Minor refactor for proxy (#11646)
---
.../src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java | 6 +++++-
.../shardingsphere/proxy/initializer/BootstrapInitializer.java | 7 +++----
.../proxy/initializer/impl/AbstractBootstrapInitializer.java | 7 +------
.../proxy/initializer/impl/GovernanceBootstrapInitializer.java | 2 +-
.../proxy/initializer/impl/AbstractBootstrapInitializerTest.java | 9 +--------
5 files changed, 11 insertions(+), 20 deletions(-)
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
index 0346dc9..e29c8d3 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
@@ -29,6 +29,7 @@ import org.apache.shardingsphere.infra.yaml.config.swapper.YamlRuleConfiguration
import org.apache.shardingsphere.proxy.arguments.BootstrapArguments;
import org.apache.shardingsphere.proxy.config.ProxyConfigurationLoader;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+import org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy;
import org.apache.shardingsphere.proxy.initializer.BootstrapInitializer;
import org.apache.shardingsphere.proxy.initializer.impl.GovernanceBootstrapInitializer;
import org.apache.shardingsphere.proxy.initializer.impl.StandardBootstrapInitializer;
@@ -54,7 +55,10 @@ public final class Bootstrap {
public static void main(final String[] args) throws IOException, SQLException {
BootstrapArguments bootstrapArgs = new BootstrapArguments(args);
YamlProxyConfiguration yamlConfig = ProxyConfigurationLoader.load(bootstrapArgs.getConfigurationPath());
- createBootstrapInitializer(yamlConfig).init(yamlConfig, bootstrapArgs.getPort());
+ BootstrapInitializer initializer = createBootstrapInitializer(yamlConfig);
+ initializer.init(yamlConfig);
+ initializer.afterInit(yamlConfig);
+ new ShardingSphereProxy().start(bootstrapArgs.getPort());
}
private static BootstrapInitializer createBootstrapInitializer(final YamlProxyConfiguration yamlConfig) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
index b45e153..ee8499b 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
@@ -30,16 +30,15 @@ public interface BootstrapInitializer {
* Initialize.
*
* @param yamlConfig YAML proxy configuration
- * @param port port
* @throws SQLException SQL exception
*/
- void init(YamlProxyConfiguration yamlConfig, int port) throws SQLException;
+ void init(YamlProxyConfiguration yamlConfig) throws SQLException;
/**
- * Called before proxy startup.
+ * Called after initialize.
*
* @param yamlConfig YAML proxy configuration
*/
- default void beforeStart(YamlProxyConfiguration yamlConfig) {
+ default void afterInit(YamlProxyConfiguration yamlConfig) {
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
index 573a5a3..2434285 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
@@ -41,7 +41,6 @@ import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
import org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
import org.apache.shardingsphere.proxy.database.DatabaseServerInfo;
-import org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy;
import org.apache.shardingsphere.proxy.initializer.BootstrapInitializer;
import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine;
@@ -65,8 +64,6 @@ import java.util.stream.Collectors;
@Slf4j
public abstract class AbstractBootstrapInitializer implements BootstrapInitializer {
- private final ShardingSphereProxy shardingSphereProxy = new ShardingSphereProxy();
-
@Getter
private final DistMetaDataPersistService distMetaDataPersistService;
@@ -75,7 +72,7 @@ public abstract class AbstractBootstrapInitializer implements BootstrapInitializ
}
@Override
- public final void init(final YamlProxyConfiguration yamlConfig, final int port) throws SQLException {
+ public final void init(final YamlProxyConfiguration yamlConfig) throws SQLException {
ProxyConfiguration proxyConfig = getProxyConfiguration(yamlConfig);
MetaDataContexts metaDataContexts = decorateMetaDataContexts(createMetaDataContexts(proxyConfig));
String xaTransactionMangerType = metaDataContexts.getProps().getValue(ConfigurationPropertyKey.XA_TRANSACTION_MANAGER_TYPE);
@@ -83,8 +80,6 @@ public abstract class AbstractBootstrapInitializer implements BootstrapInitializ
ProxyContext.getInstance().init(metaDataContexts, transactionContexts);
setDatabaseServerInfo();
initScalingWorker(yamlConfig);
- beforeStart(yamlConfig);
- shardingSphereProxy.start(port);
}
private ProxyConfiguration getProxyConfiguration(final YamlProxyConfiguration yamlConfig) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
index 794c6eb..922873e 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
@@ -76,7 +76,7 @@ public final class GovernanceBootstrapInitializer extends AbstractBootstrapIniti
}
@Override
- public void beforeStart(final YamlProxyConfiguration yamlConfig) {
+ public void afterInit(final YamlProxyConfiguration yamlConfig) {
governanceRule.getRegistryCenter().onlineInstance(getSchemaNames(yamlConfig));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
index 66163bc..4195909 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
@@ -26,7 +26,6 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKe
import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
-import org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy;
import org.apache.shardingsphere.transaction.context.TransactionContexts;
import org.junit.Before;
import org.junit.Test;
@@ -38,13 +37,10 @@ import java.util.Collections;
import java.util.Properties;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.CALLS_REAL_METHODS;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
public abstract class AbstractBootstrapInitializerTest {
@@ -67,8 +63,6 @@ public abstract class AbstractBootstrapInitializerTest {
@Test
public final void assertInit() throws SQLException {
AbstractBootstrapInitializer initializer = mock(AbstractBootstrapInitializer.class, CALLS_REAL_METHODS);
- ShardingSphereProxy shardingSphereProxy = mock(ShardingSphereProxy.class);
- setFieldValue(initializer, "shardingSphereProxy", shardingSphereProxy);
DistMetaDataPersistService distMetaDataPersistService = mock(DistMetaDataPersistService.class, RETURNS_DEEP_STUBS);
when(distMetaDataPersistService.getSchemaMetaDataService().loadAllNames()).thenReturn(Collections.emptyList());
setFieldValue(initializer, "distMetaDataPersistService", distMetaDataPersistService);
@@ -82,8 +76,7 @@ public abstract class AbstractBootstrapInitializerTest {
when(yamlConfig.getRuleConfigurations()).thenReturn(Collections.emptyMap());
when(yamlConfig.getServerConfiguration()).thenReturn(mock(YamlProxyServerConfiguration.class));
when(yamlConfig.getServerConfiguration().getProps()).thenReturn(new Properties());
- initializer.init(yamlConfig, eq(anyInt()));
- verify(shardingSphereProxy).start(anyInt());
+ initializer.init(yamlConfig);
}
@SneakyThrows(ReflectiveOperationException.class)