This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 dd2b821 Use ProxyConfiguration.schemaConfigurations to instead of
schemaResources and schemaRules (#15044)
dd2b821 is described below
commit dd2b8211c0724477b32c2aee32354916dfcf9089
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jan 25 13:14:56 2022 +0800
Use ProxyConfiguration.schemaConfigurations to instead of schemaResources
and schemaRules (#15044)
* Add ProxyConfiguration.schemaConfigurations
* Remove ProxyConfiguration.schemaResources and schemaRules
* Refactor YamlProxyConfigurationSwapper
---
.../proxy/config/ProxyConfiguration.java | 5 +-
.../ProxyDataSourceConfigurationConverter.java | 56 ---------------
...guration.java => ProxySchemaConfiguration.java} | 15 ++--
.../swapper/YamlProxyConfigurationSwapper.java | 41 ++++++++---
.../proxy/initializer/BootstrapInitializer.java | 31 ++++----
.../ProxyDataSourceConfigurationConverterTest.java | 83 ----------------------
.../swapper/YamlProxyConfigurationSwapperTest.java | 26 +++----
7 files changed, 67 insertions(+), 190 deletions(-)
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
index 13a06d6..419ef31 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.proxy.config;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
import java.util.Collection;
import java.util.Map;
@@ -33,9 +32,7 @@ import java.util.Properties;
@Getter
public final class ProxyConfiguration {
- private final Map<String, Map<String, DataSourceConfiguration>>
schemaResources;
-
- private final Map<String, Collection<RuleConfiguration>> schemaRules;
+ private final Map<String, ProxySchemaConfiguration> schemaConfigurations;
private final Collection<RuleConfiguration> globalRules;
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverter.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverter.java
deleted file mode 100644
index 8d1d501..0000000
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.config;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import
org.apache.shardingsphere.infra.datasource.config.ConnectionConfiguration;
-import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
-import org.apache.shardingsphere.infra.datasource.config.PoolConfiguration;
-import
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
-
-/**
- * ShardingSphere-Proxy data source configuration converter.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ProxyDataSourceConfigurationConverter {
-
- /**
- * Get data source configuration map.
- *
- * @param yamlResourceConfigMap yaml resource configuration map
- * @return data source configuration map
- */
- public static Map<String, DataSourceConfiguration>
getDataSourceConfigurationMap(final Map<String,
YamlProxyDataSourceConfiguration> yamlResourceConfigMap) {
- return yamlResourceConfigMap.entrySet().stream()
- .collect(Collectors.toMap(Entry::getKey, entry ->
createDataSourceConfiguration(entry.getValue()), (oldValue, currentValue) ->
oldValue, LinkedHashMap::new));
- }
-
- private static DataSourceConfiguration createDataSourceConfiguration(final
YamlProxyDataSourceConfiguration yamlConfig) {
- ConnectionConfiguration connectionConfig = new
ConnectionConfiguration(yamlConfig.getUrl(), yamlConfig.getUsername(),
yamlConfig.getPassword());
- PoolConfiguration poolConfig = new
PoolConfiguration(yamlConfig.getConnectionTimeoutMilliseconds(),
yamlConfig.getIdleTimeoutMilliseconds(),
- yamlConfig.getMaxLifetimeMilliseconds(),
yamlConfig.getMaxPoolSize(), yamlConfig.getMinPoolSize(),
yamlConfig.getReadOnly(),
- yamlConfig.getCustomPoolProps());
- return new DataSourceConfiguration(connectionConfig, poolConfig);
- }
-}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxySchemaConfiguration.java
similarity index 74%
copy from
shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
copy to
shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxySchemaConfiguration.java
index 13a06d6..d3ccf27 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxySchemaConfiguration.java
@@ -24,22 +24,15 @@ import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration
import java.util.Collection;
import java.util.Map;
-import java.util.Properties;
/**
- * Proxy configuration.
+ * Proxy schema configuration.
*/
@RequiredArgsConstructor
@Getter
-public final class ProxyConfiguration {
+public final class ProxySchemaConfiguration {
- private final Map<String, Map<String, DataSourceConfiguration>>
schemaResources;
+ private final Map<String, DataSourceConfiguration> dataSources;
- private final Map<String, Collection<RuleConfiguration>> schemaRules;
-
- private final Collection<RuleConfiguration> globalRules;
-
- private final Properties props;
-
- private final Collection<String> labels;
+ private final Collection<RuleConfiguration> rules;
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
index 8d6a062..7c87489 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
@@ -18,11 +18,14 @@
package org.apache.shardingsphere.proxy.config.yaml.swapper;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.datasource.config.ConnectionConfiguration;
import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
+import org.apache.shardingsphere.infra.datasource.config.PoolConfiguration;
import
org.apache.shardingsphere.infra.yaml.config.swapper.YamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxySchemaConfiguration;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import
org.apache.shardingsphere.proxy.config.ProxyDataSourceConfigurationConverter;
+import
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.YamlProxySchemaConfiguration;
import java.util.Collection;
@@ -46,9 +49,37 @@ public final class YamlProxyConfigurationSwapper {
public ProxyConfiguration swap(final YamlProxyConfiguration yamlConfig) {
Map<String, Map<String, DataSourceConfiguration>>
schemaDataSourceConfigs =
getDataSourceConfigurationMap(yamlConfig.getSchemaConfigurations());
Map<String, Collection<RuleConfiguration>> schemaConfigs =
getSchemaConfigurations(yamlConfig.getSchemaConfigurations());
+ Map<String, ProxySchemaConfiguration> schemaConfigurations = new
LinkedHashMap<>(schemaDataSourceConfigs.size(), 1);
+ for (Entry<String, Map<String, DataSourceConfiguration>> entry :
schemaDataSourceConfigs.entrySet()) {
+ schemaConfigurations.put(entry.getKey(), new
ProxySchemaConfiguration(entry.getValue(), schemaConfigs.get(entry.getKey())));
+ }
Collection<RuleConfiguration> globalRules = new
YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(yamlConfig.getServerConfiguration().getRules());
Properties props = yamlConfig.getServerConfiguration().getProps();
- return new ProxyConfiguration(schemaDataSourceConfigs, schemaConfigs,
globalRules, props, yamlConfig.getServerConfiguration().getLabels());
+ return new ProxyConfiguration(schemaConfigurations, globalRules,
props, yamlConfig.getServerConfiguration().getLabels());
+ }
+
+ private Map<String, Map<String, DataSourceConfiguration>>
getDataSourceConfigurationMap(final Map<String, YamlProxySchemaConfiguration>
yamlSchemaConfigs) {
+ Map<String, Map<String, DataSourceConfiguration>> result = new
LinkedHashMap<>(yamlSchemaConfigs.size(), 1);
+ for (Entry<String, YamlProxySchemaConfiguration> entry :
yamlSchemaConfigs.entrySet()) {
+ result.put(entry.getKey(),
getDataSourceConfigurations(entry.getValue().getDataSources()));
+ }
+ return result;
+ }
+
+ private Map<String, DataSourceConfiguration>
getDataSourceConfigurations(final Map<String, YamlProxyDataSourceConfiguration>
yamlDataSourceConfigs) {
+ Map<String, DataSourceConfiguration> result = new
LinkedHashMap<>(yamlDataSourceConfigs.size(), 1);
+ for (Entry<String, YamlProxyDataSourceConfiguration> entry :
yamlDataSourceConfigs.entrySet()) {
+ result.put(entry.getKey(),
getDataSourceConfiguration(entry.getValue()));
+ }
+ return result;
+ }
+
+ private DataSourceConfiguration getDataSourceConfiguration(final
YamlProxyDataSourceConfiguration yamlDataSourceConfig) {
+ ConnectionConfiguration connectionConfig = new
ConnectionConfiguration(yamlDataSourceConfig.getUrl(),
yamlDataSourceConfig.getUsername(), yamlDataSourceConfig.getPassword());
+ PoolConfiguration poolConfig = new
PoolConfiguration(yamlDataSourceConfig.getConnectionTimeoutMilliseconds(),
yamlDataSourceConfig.getIdleTimeoutMilliseconds(),
+ yamlDataSourceConfig.getMaxLifetimeMilliseconds(),
yamlDataSourceConfig.getMaxPoolSize(), yamlDataSourceConfig.getMinPoolSize(),
yamlDataSourceConfig.getReadOnly(),
+ yamlDataSourceConfig.getCustomPoolProps());
+ return new DataSourceConfiguration(connectionConfig, poolConfig);
}
private Map<String, Collection<RuleConfiguration>>
getSchemaConfigurations(final Map<String, YamlProxySchemaConfiguration>
yamlSchemaConfigs) {
@@ -56,10 +87,4 @@ public final class YamlProxyConfigurationSwapper {
return
yamlSchemaConfigs.entrySet().stream().collect(Collectors.toMap(Entry::getKey,
entry ->
swapperEngine.swapToRuleConfigurations(entry.getValue().getRules()), (oldValue,
currentValue) -> oldValue, LinkedHashMap::new));
}
-
- private Map<String, Map<String, DataSourceConfiguration>>
getDataSourceConfigurationMap(final Map<String, YamlProxySchemaConfiguration>
yamlSchemaConfigs) {
- return yamlSchemaConfigs.entrySet().stream().collect(
- Collectors.toMap(Entry::getKey, entry ->
ProxyDataSourceConfigurationConverter.getDataSourceConfigurationMap(entry.getValue().getDataSources()),
- (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
- }
}
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 58d8dab..423677f 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
@@ -27,6 +27,7 @@ import org.apache.shardingsphere.db.protocol.CommonConstants;
import org.apache.shardingsphere.db.protocol.mysql.constant.MySQLServerInfo;
import
org.apache.shardingsphere.db.protocol.postgresql.constant.PostgreSQLServerInfo;
import org.apache.shardingsphere.infra.autogen.version.ShardingSphereVersion;
+import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
import
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
@@ -42,12 +43,14 @@ import
org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxySchemaConfiguration;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
import org.apache.shardingsphere.proxy.database.DatabaseServerInfo;
import javax.sql.DataSource;
import java.sql.SQLException;
+import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
@@ -69,32 +72,36 @@ public final class BootstrapInitializer {
* @throws SQLException SQL exception
*/
public void init(final YamlProxyConfiguration yamlConfig, final int port)
throws SQLException {
- ModeConfiguration modeConfig = null ==
yamlConfig.getServerConfiguration().getMode()
- ? null : new
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getMode());
+ ModeConfiguration modeConfig = null ==
yamlConfig.getServerConfiguration().getMode() ? null : new
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getMode());
ContextManager contextManager = createContextManager(yamlConfig,
modeConfig, port);
- initContext(contextManager);
+ ProxyContext.getInstance().init(contextManager);
initRuleAlteredJobWorker(modeConfig, contextManager);
setDatabaseServerInfo();
}
private ContextManager createContextManager(final YamlProxyConfiguration
yamlConfig, final ModeConfiguration modeConfig, final int port) throws
SQLException {
ProxyConfiguration proxyConfig = new
YamlProxyConfigurationSwapper().swap(yamlConfig);
- Map<String, Map<String, DataSource>> dataSourcesMap =
getDataSourcesMap(proxyConfig.getSchemaResources());
- ContextManagerBuilderParameter parameter =
ContextManagerBuilderParameter.builder().modeConfig(modeConfig).dataSourcesMap(dataSourcesMap).schemaRuleConfigs(proxyConfig.getSchemaRules())
+ Map<String, Map<String, DataSource>> dataSourcesMap =
getDataSourcesMap(proxyConfig.getSchemaConfigurations());
+ ContextManagerBuilderParameter parameter =
ContextManagerBuilderParameter.builder().modeConfig(modeConfig).dataSourcesMap(dataSourcesMap)
+
.schemaRuleConfigs(getSchemaRuleConfigurations(proxyConfig.getSchemaConfigurations()))
.globalRuleConfigs(proxyConfig.getGlobalRules()).props(proxyConfig.getProps()).labels(proxyConfig.getLabels())
.instanceDefinition(new InstanceDefinition(InstanceType.PROXY,
port)).build();
return
ContextManagerBuilderFactory.newInstance(modeConfig).build(parameter);
}
- private void initContext(final ContextManager contextManager) {
- ProxyContext.getInstance().init(contextManager);
+ // TODO add DataSourceConfiguration param to ContextManagerBuilder to
avoid re-build data source
+ private Map<String, Map<String, DataSource>> getDataSourcesMap(final
Map<String, ProxySchemaConfiguration> schemaConfigMap) {
+ Map<String, Map<String, DataSource>> result = new
LinkedHashMap<>(schemaConfigMap.size(), 1);
+ for (Entry<String, ProxySchemaConfiguration> entry :
schemaConfigMap.entrySet()) {
+ result.put(entry.getKey(),
DataSourcePoolCreator.create(createDataSourcePropertiesMap(entry.getValue().getDataSources())));
+ }
+ return result;
}
- // TODO add ResourceConfiguration param to ContextManagerBuilder to avoid
re-build data source
- private Map<String, Map<String, DataSource>> getDataSourcesMap(final
Map<String, Map<String, DataSourceConfiguration>> dataSourceConfigMap) {
- Map<String, Map<String, DataSource>> result = new
LinkedHashMap<>(dataSourceConfigMap.size(), 1);
- for (Entry<String, Map<String, DataSourceConfiguration>> entry :
dataSourceConfigMap.entrySet()) {
- result.put(entry.getKey(),
DataSourcePoolCreator.create(createDataSourcePropertiesMap(entry.getValue())));
+ private Map<String, Collection<RuleConfiguration>>
getSchemaRuleConfigurations(final Map<String, ProxySchemaConfiguration>
schemaConfigMap) {
+ Map<String, Collection<RuleConfiguration>> result = new
LinkedHashMap<>(schemaConfigMap.size(), 1);
+ for (Entry<String, ProxySchemaConfiguration> entry :
schemaConfigMap.entrySet()) {
+ result.put(entry.getKey(), entry.getValue().getRules());
}
return result;
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverterTest.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverterTest.java
deleted file mode 100644
index 3b6a04a..0000000
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverterTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.config;
-
-import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
-import
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
-import org.junit.Test;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public final class ProxyDataSourceConfigurationConverterTest {
-
- @Test
- public void assertGetResourceConfigurationMap() {
- YamlProxyDataSourceConfiguration yamlResourceConfig0 = new
YamlProxyDataSourceConfiguration();
- yamlResourceConfig0.setUrl("jdbc:mysql://localhost:3306/ds_0");
- yamlResourceConfig0.setCustomPoolProps(getCustomPoolProperties());
- setYamlResourceConfigurationPropertyWithoutUrl(yamlResourceConfig0);
- YamlProxyDataSourceConfiguration yamlResourceConfig1 = new
YamlProxyDataSourceConfiguration();
- yamlResourceConfig1.setUrl("jdbc:mysql://localhost:3306/ds_1");
- yamlResourceConfig1.setCustomPoolProps(getCustomPoolProperties());
- setYamlResourceConfigurationPropertyWithoutUrl(yamlResourceConfig1);
- Map<String, YamlProxyDataSourceConfiguration> yamlResourceConfigs =
new HashMap<>(2, 1);
- yamlResourceConfigs.put("ds_0", yamlResourceConfig0);
- yamlResourceConfigs.put("ds_1", yamlResourceConfig1);
- Map<String, DataSourceConfiguration> actualResourceConfig =
ProxyDataSourceConfigurationConverter.getDataSourceConfigurationMap(yamlResourceConfigs);
- assertThat(actualResourceConfig.size(), is(2));
- assertThat(actualResourceConfig.get("ds_0").getConnection().getUrl(),
is("jdbc:mysql://localhost:3306/ds_0"));
- assertThat(actualResourceConfig.get("ds_1").getConnection().getUrl(),
is("jdbc:mysql://localhost:3306/ds_1"));
- assertResourceConfiguration(actualResourceConfig.get("ds_0"));
- assertResourceConfiguration(actualResourceConfig.get("ds_1"));
- }
-
- private void setYamlResourceConfigurationPropertyWithoutUrl(final
YamlProxyDataSourceConfiguration yamlResourceConfig) {
- yamlResourceConfig.setUsername("root");
- yamlResourceConfig.setPassword("root");
- yamlResourceConfig.setConnectionTimeoutMilliseconds(30 * 1000L);
- yamlResourceConfig.setIdleTimeoutMilliseconds(60 * 1000L);
- yamlResourceConfig.setMaxLifetimeMilliseconds(0L);
- yamlResourceConfig.setMaxPoolSize(50);
- yamlResourceConfig.setMinPoolSize(1);
- }
-
- private void assertResourceConfiguration(final DataSourceConfiguration
resourceConfig) {
- assertThat(resourceConfig.getConnection().getUsername(), is("root"));
- assertThat(resourceConfig.getConnection().getPassword(), is("root"));
-
assertThat(resourceConfig.getPool().getConnectionTimeoutMilliseconds(), is(30 *
1000L));
- assertThat(resourceConfig.getPool().getIdleTimeoutMilliseconds(),
is(60 * 1000L));
- assertThat(resourceConfig.getPool().getMaxLifetimeMilliseconds(),
is(0L));
- assertThat(resourceConfig.getPool().getMaxPoolSize(), is(50));
- assertThat(resourceConfig.getPool().getMinPoolSize(), is(1));
- assertThat(resourceConfig.getPool().getCustomProperties().size(),
is(2));
-
assertThat(resourceConfig.getPool().getCustomProperties().get("maxPoolSize"),
is(30));
-
assertThat(resourceConfig.getPool().getCustomProperties().get("idleTimeoutMilliseconds"),
is("30000"));
- }
-
- private Properties getCustomPoolProperties() {
- Properties result = new Properties();
- result.put("maxPoolSize", 30);
- result.put("idleTimeoutMilliseconds", "30000");
- return result;
- }
-}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
index 49664e5..c68e846 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
@@ -20,13 +20,14 @@ package org.apache.shardingsphere.proxy.config.yaml.swapper;
import org.apache.shardingsphere.authority.config.AuthorityRuleConfiguration;
import
org.apache.shardingsphere.authority.yaml.config.YamlAuthorityRuleConfiguration;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUsers;
import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxySchemaConfiguration;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.YamlProxySchemaConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
@@ -43,7 +44,6 @@ import java.util.Properties;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
@@ -62,11 +62,10 @@ public final class YamlProxyConfigurationSwapperTest {
}
private void assertSchemaDataSources(final ProxyConfiguration proxyConfig)
{
- Map<String, Map<String, DataSourceConfiguration>>
schemaDataSourceConfigs = proxyConfig.getSchemaResources();
- assertNotNull(schemaDataSourceConfigs);
- assertThat(schemaDataSourceConfigs.size(), is(1));
- assertTrue(schemaDataSourceConfigs.containsKey("yamlProxyRule1"));
- DataSourceConfiguration dataSourceConfig =
schemaDataSourceConfigs.get("yamlProxyRule1").get("ds1");
+ Map<String, ProxySchemaConfiguration> schemaConfigs =
proxyConfig.getSchemaConfigurations();
+ assertThat(schemaConfigs.size(), is(1));
+ assertTrue(schemaConfigs.containsKey("yamlProxyRule1"));
+ DataSourceConfiguration dataSourceConfig =
schemaConfigs.get("yamlProxyRule1").getDataSources().get("ds1");
assertThat(dataSourceConfig.getConnection().getUrl(), is("url1"));
assertThat(dataSourceConfig.getConnection().getUsername(),
is("username1"));
assertThat(dataSourceConfig.getConnection().getPassword(),
is("password1"));
@@ -79,20 +78,15 @@ public final class YamlProxyConfigurationSwapperTest {
}
private void assertSchemaRules(final ProxyConfiguration proxyConfig) {
- Map<String, Collection<RuleConfiguration>> schemaRules =
proxyConfig.getSchemaRules();
- assertNotNull(schemaRules);
- assertThat(schemaRules.size(), is(1));
- Collection<RuleConfiguration> ruleConfigs =
schemaRules.get("yamlProxyRule1");
- assertNotNull(ruleConfigs);
+ Map<String, ProxySchemaConfiguration> schemaConfigs =
proxyConfig.getSchemaConfigurations();
+ assertThat(schemaConfigs.size(), is(1));
+ Collection<RuleConfiguration> ruleConfigs =
schemaConfigs.get("yamlProxyRule1").getRules();
assertThat(ruleConfigs.size(), is(1));
- RuleConfiguration ruleConfig = ruleConfigs.iterator().next();
- assertNotNull(ruleConfig);
- assertThat(ruleConfig,
instanceOf(ReadwriteSplittingRuleConfiguration.class));
+ assertThat(ruleConfigs.iterator().next(),
instanceOf(ReadwriteSplittingRuleConfiguration.class));
}
private void assertProxyConfigurationProps(final ProxyConfiguration
proxyConfig) {
Properties proxyConfigurationProps = proxyConfig.getProps();
- assertNotNull(proxyConfigurationProps);
assertThat(proxyConfigurationProps.size(), is(1));
assertThat(proxyConfigurationProps.getProperty("key4"), is("value4"));
}