You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/11/12 02:20:08 UTC
[shardingsphere] branch master updated: Add readwrite-splitting
jdbc example and update generator (#13561)
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 3297b2e Add readwrite-splitting jdbc example and update generator (#13561)
3297b2e is described below
commit 3297b2e797893f0761e90dbbf7ca42c41c894d8d
Author: Guocheng Tang <to...@qq.com>
AuthorDate: Fri Nov 12 10:18:24 2021 +0800
Add readwrite-splitting jdbc example and update generator (#13561)
---
.../example/engine/ExampleGenerateEngine.java | 29 +++++----
.../main/resources/dataModel/jdbc/data-model.yaml | 2 +-
.../src/main/resources/template/Example.ftl | 16 +++--
.../src/main/resources/template/entity/Order.ftl | 2 +-
.../main/resources/template/entity/OrderItem.ftl | 2 +-
.../main/resources/template/jdbc/Configuration.ftl | 73 ++++++---------------
.../resources/template/jdbc/ExampleService.ftl | 12 ++--
.../jdbc/readwritesplittingConfiguration.ftl | 40 ++++++++++++
...Configuration.ftl => shardingConfiguration.ftl} | 71 +++++---------------
.../pom.xml | 1 +
.../pom.xml | 7 +-
.../pom.xml | 15 +++--
...ryLocalReadwriteSplittingJdbcConfiguration.java | 75 ++++++++++++++++++++++
.../MemoryLocalReadwriteSplittingJdbcExample.java | 32 +++++++++
...LocalReadwriteSplittingJdbcExampleService.java} | 18 ++----
.../readwrite/splitting/jdbc/entity/Order.java} | 28 +-------
.../splitting/jdbc/entity/OrderItem.java} | 28 +-------
.../src/main/resources/logback.xml} | 32 ++++-----
18 files changed, 256 insertions(+), 227 deletions(-)
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/java/org/apache/sharding/example/engine/ExampleGenerateEngine.java b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/java/org/apache/sharding/example/engine/ExampleGenerateEngine.java
index 24f9531..de4a247 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/java/org/apache/sharding/example/engine/ExampleGenerateEngine.java
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/java/org/apache/sharding/example/engine/ExampleGenerateEngine.java
@@ -29,6 +29,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
+import java.io.Writer;
import java.util.Map;
/**
@@ -43,15 +44,19 @@ public abstract class ExampleGenerateEngine {
+ "/shardingsphere-jdbc-${mode}-${transaction}-example/shardingsphere-jdbc-${mode}-${transaction}-${feature}-example"
+ "/shardingsphere-jdbc-${mode}-${transaction}-${feature}-${framework}-example/src/main/";
- private static final String JAVA_CLASS_PATH = "java/org/apache/shardingsphere/example/${feature}/${framework?replace('-', '/')}";
+ private static final String JAVA_CLASS_PATH = "java/org/apache/shardingsphere/example/${feature?replace('-', '/')}/${framework?replace('-', '/')}";
private static final String RESOURCES_PATH = "resources";
- private static final String FILE_NAME_PREFIX = "${mode?cap_first}${transaction?cap_first}${feature?cap_first}" +
- "<#assign frameworkName=\"\">" +
- "<#list framework?split(\"-\") as framework1>" +
- "<#assign frameworkName=frameworkName + framework1?cap_first>" +
- "</#list>${frameworkName}";
+ private static final String FILE_NAME_PREFIX = "${mode?cap_first}${transaction?cap_first}"
+ + "<#assign featureName=\"\">"
+ + "<#list feature?split(\"-\") as feature1>"
+ + "<#assign featureName=featureName + feature1?cap_first>"
+ + "</#list>${featureName}"
+ + "<#assign frameworkName=\"\">"
+ + "<#list framework?split(\"-\") as framework1>"
+ + "<#assign frameworkName=frameworkName + framework1?cap_first>"
+ + "</#list>${frameworkName}";
private static final String FRAMEWORK_PATH = "/dataModel/%s/data-model.yaml";
@@ -77,10 +82,10 @@ public abstract class ExampleGenerateEngine {
* @param outputFile Output directory and file name.
*/
public static void processFile(final Object model, final String templateFile, final String outputFile) {
- try {
+ try (Writer writer = new FileWriter(outputFile)) {
Template template = CONFIGURATION.getTemplate(templateFile);
- template.process(model, new FileWriter(outputFile));
- } catch (IOException | TemplateException e) {
+ template.process(model, writer);
+ } catch (TemplateException | IOException e) {
e.printStackTrace();
}
}
@@ -92,9 +97,9 @@ public abstract class ExampleGenerateEngine {
* @return Replace the placeholder string
*/
public static String processString(final Object model, final String templateString) {
- try {
- StringWriter result = new StringWriter();
- Template t = new Template("string", new StringReader(templateString), CONFIGURATION);
+ try (StringWriter result = new StringWriter();
+ StringReader reader = new StringReader(templateString)) {
+ Template t = new Template("string", reader, CONFIGURATION);
t.process(model, result);
return result.toString();
} catch (IOException | TemplateException e) {
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/dataModel/jdbc/data-model.yaml b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/dataModel/jdbc/data-model.yaml
index 66fe5f1..792c10b 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/dataModel/jdbc/data-model.yaml
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/dataModel/jdbc/data-model.yaml
@@ -17,7 +17,7 @@
mode: memory
transaction: local
-feature: sharding
+feature: readwrite-splitting
framework: jdbc
host: localhost
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/Example.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/Example.ftl
index 53d91c9..e6eb6ec 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/Example.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/Example.ftl
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')};
+package org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework?replace('-', '.')};
<#if framework?contains("springboot")>
<#if framework=="springboot-starter-mybatis">
@@ -39,6 +39,10 @@ import java.sql.SQLException;
<#list framework?split("-") as framework1>
<#assign frameworkName=frameworkName + framework1?cap_first>
</#list>
+<#assign featureName="">
+<#list feature?split("-") as feature1>
+ <#assign featureName=featureName + feature1?cap_first>
+</#list>
<#if framework=="springboot-starter-mybatis">
@MapperScan("org.apache.shardingsphere.example.${feature}.springboot.starter.mybatis.repository")
</#if>
@@ -48,21 +52,21 @@ import java.sql.SQLException;
<#if framework?contains("springboot")>
@SpringBootApplication
</#if>
-public class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${frameworkName}Example {
+public class ${mode?cap_first}${transaction?cap_first}${featureName}${frameworkName}Example {
public static void main(final String[] args) throws SQLException {
<#if framework=="jdbc">
- ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${framework?cap_first}Configuration shardingConfiguration = new ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${framework?cap_first}Configuration();
+ ${mode?cap_first}${transaction?cap_first}${featureName}${framework?cap_first}Configuration shardingConfiguration = new ${mode?cap_first}${transaction?cap_first}${featureName}${framework?cap_first}Configuration();
DataSource dataSource = shardingConfiguration.getDataSource();
- ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${framework?cap_first}ExampleService exampleService = new ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${framework?cap_first}ExampleService(dataSource);
+ ${mode?cap_first}${transaction?cap_first}${featureName}${framework?cap_first}ExampleService exampleService = new ${mode?cap_first}${transaction?cap_first}${featureName}${framework?cap_first}ExampleService(dataSource);
exampleService.run();
<#else>
<#if framework?contains("spring-namespace")>
try (ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml")) {
<#else>
- try (ConfigurableApplicationContext applicationContext = SpringApplication.run(${mode?cap_first}${transaction?cap_first}${feature?cap_first}${frameworkName}Example.class, args)) {
+ try (ConfigurableApplicationContext applicationContext = SpringApplication.run(${mode?cap_first}${transaction?cap_first}${featureName}${frameworkName}Example.class, args)) {
</#if>
- ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${frameworkName}ExampleService exampleService = applicationContext.getBean(${mode?cap_first}${transaction?cap_first}${feature?cap_first}${frameworkName}ExampleService.class);
+ ${mode?cap_first}${transaction?cap_first}${featureName}${frameworkName}ExampleService exampleService = applicationContext.getBean(${mode?cap_first}${transaction?cap_first}${featureName}${frameworkName}ExampleService.class);
exampleService.run();
}
</#if>
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl
index 3bf5d32..8915499 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity;
+package org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework?replace('-', '.')}.entity;
<#if framework?contains("jpa")>
import javax.persistence.Column;
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl
index 30a27fc..6b74f98 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity;
+package org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework?replace('-', '.')}.entity;
<#if framework?contains("jpa")>
import javax.persistence.Column;
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl
index 25f2047..69eb142 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework};
+package org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework};
import com.zaxxer.hikari.HikariDataSource;
import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
+<#if feature=="sharding">
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepositoryConfiguration;
@@ -26,15 +27,25 @@ import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
import org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration;
+</#if>
+<#if feature=="readwrite-splitting">
+import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
+import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
+</#if>
import javax.sql.DataSource;
import java.sql.SQLException;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-public final class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${framework?cap_first}Configuration {
+<#assign featureName="">
+<#list feature?split("-") as feature1>
+ <#assign featureName=featureName + feature1?cap_first>
+</#list>
+public final class ${mode?cap_first}${transaction?cap_first}${featureName}${framework?cap_first}Configuration {
private static final String HOST = "${host}";
@@ -43,58 +54,12 @@ public final class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}
private static final String USER_NAME = "${username}";
private static final String PASSWORD = "${(password)?c}";
-
- /**
- * Create a DataSource object, which is an object rewritten by ShardingSphere itself
- * and contains various rules for rewriting the original data storage. When in use, you only need to use this object.
- * @return
- * @throws SQLException
- */
- public DataSource getDataSource() throws SQLException {
- return ShardingSphereDataSourceFactory.createDataSource(createModeConfiguration(), createDataSourceMap(), Collections.singleton(createShardingRuleConfiguration()), new Properties());
- }
-
- private ShardingRuleConfiguration createShardingRuleConfiguration() {
- ShardingRuleConfiguration result = new ShardingRuleConfiguration();
- result.getTables().add(getOrderTableRuleConfiguration());
- result.getTables().add(getOrderItemTableRuleConfiguration());
- result.getBroadcastTables().add("t_address");
- result.setDefaultDatabaseShardingStrategy(new StandardShardingStrategyConfiguration("user_id", "inline"));
- Properties props = new Properties();
- props.setProperty("algorithm-expression", "${r"demo_ds_${user_id % 2}"}");
- result.getShardingAlgorithms() .put("inline", new ShardingSphereAlgorithmConfiguration("INLINE", props));
- result.getKeyGenerators().put("snowflake", new ShardingSphereAlgorithmConfiguration("SNOWFLAKE", getProperties()));
- return result;
- }
-
- private static ModeConfiguration createModeConfiguration() {
- return new ModeConfiguration("Standalone", new StandalonePersistRepositoryConfiguration("File", new Properties()), true);
- }
-
- private static ShardingTableRuleConfiguration getOrderTableRuleConfiguration() {
- ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_order");
- result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("order_id", "snowflake"));
- return result;
- }
-
- private static ShardingTableRuleConfiguration getOrderItemTableRuleConfiguration() {
- ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_order_item");
- result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("order_item_id", "snowflake"));
- return result;
- }
-
- private Map<String, DataSource> createDataSourceMap() {
- Map<String, DataSource> result = new HashMap<>(2, 1);
- result.put("demo_ds_0", createDataSource("demo_ds_0"));
- result.put("demo_ds_1", createDataSource("demo_ds_1"));
- return result;
- }
-
- private static Properties getProperties() {
- Properties result = new Properties();
- result.setProperty("worker-id", "123");
- return result;
- }
+<#if feature=="sharding">
+ <#include "shardingConfiguration.ftl">
+</#if>
+<#if feature=="readwrite-splitting">
+ <#include "readwritesplittingConfiguration.ftl">
+</#if>
private DataSource createDataSource(final String dataSourceName) {
HikariDataSource result = new HikariDataSource();
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl
index 6cffe99..eaa0d76 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')};
+package org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework?replace('-', '.')};
import lombok.AllArgsConstructor;
-import org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity.Order;
-import org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity.OrderItem;
+import org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework?replace('-', '.')}.entity.Order;
+import org.apache.shardingsphere.example.${feature?replace('-', '.')}.${framework?replace('-', '.')}.entity.OrderItem;
<#if framework?contains("spring")>
import org.springframework.stereotype.Service;
</#if>
@@ -38,11 +38,15 @@ import java.util.List;
<#list framework?split("-") as framework1>
<#assign frameworkName=frameworkName + framework1?cap_first>
</#list>
+<#assign featureName="">
+<#list feature?split("-") as feature1>
+ <#assign featureName=featureName + feature1?cap_first>
+</#list>
<#if framework?contains("spring")>
@Service
</#if>
@AllArgsConstructor
-public final class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${frameworkName}ExampleService {
+public final class ${mode?cap_first}${transaction?cap_first}${featureName}${frameworkName}ExampleService {
private final DataSource dataSource;
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/readwritesplittingConfiguration.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/readwritesplittingConfiguration.ftl
new file mode 100644
index 0000000..71dfe21
--- /dev/null
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/readwritesplittingConfiguration.ftl
@@ -0,0 +1,40 @@
+<#--
+ ~ 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.
+ -->
+
+ /**
+ * Create a DataSource object, which is an object rewritten by ShardingSphere itself
+ * and contains various rules for rewriting the original data storage. When in use, you only need to use this object.
+ * @return
+ * @throws SQLException
+ */
+ public DataSource getDataSource() throws SQLException {
+ return ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Collections.singleton(createReadwriteSplittingRuleConfiguration()), new Properties());
+ }
+
+ private ReadwriteSplittingRuleConfiguration createReadwriteSplittingRuleConfiguration() {
+ ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfig = new ReadwriteSplittingDataSourceRuleConfiguration(
+ "demo_read_query_ds", "", "demo_write_ds", Arrays.asList("demo_read_ds_0", "demo_read_ds_1"), null);
+ return new ReadwriteSplittingRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap());
+ }
+
+ private Map<String, DataSource> createDataSourceMap() {
+ Map<String, DataSource> result = new HashMap<>(3, 1);
+ result.put("demo_write_ds", createDataSource("demo_write_ds"));
+ result.put("demo_read_ds_0", createDataSource("demo_read_ds_0"));
+ result.put("demo_read_ds_1", createDataSource("demo_read_ds_1"));
+ return result;
+ }
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/shardingConfiguration.ftl
similarity index 50%
copy from examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl
copy to examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/shardingConfiguration.ftl
index 25f2047..57f42c3 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/Configuration.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/shardingConfiguration.ftl
@@ -1,48 +1,19 @@
-/*
- * 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.example.${feature}.${framework};
-
-import com.zaxxer.hikari.HikariDataSource;
-import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
-import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
-import org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepositoryConfiguration;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
-import org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration;
-
-import javax.sql.DataSource;
-import java.sql.SQLException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-public final class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${framework?cap_first}Configuration {
-
- private static final String HOST = "${host}";
-
- private static final int PORT = ${(port)?c};
-
- private static final String USER_NAME = "${username}";
-
- private static final String PASSWORD = "${(password)?c}";
+<#--
+ ~ 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.
+ -->
/**
* Create a DataSource object, which is an object rewritten by ShardingSphere itself
@@ -95,13 +66,3 @@ public final class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}
result.setProperty("worker-id", "123");
return result;
}
-
- private DataSource createDataSource(final String dataSourceName) {
- HikariDataSource result = new HikariDataSource();
- result.setDriverClassName("com.mysql.jdbc.Driver");
- result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8", HOST, PORT, dataSourceName));
- result.setUsername(USER_NAME);
- result.setPassword(PASSWORD);
- return result;
- }
-}
diff --git a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
index f19784a..83f067a 100644
--- a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
@@ -30,5 +30,6 @@
<name>${project.artifactId}</name>
<modules>
<module>shardingsphere-jdbc-memory-local-sharding-example</module>
+ <module>shardingsphere-jdbc-memory-local-readwrite-splitting-example</module>
</modules>
</project>
diff --git a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/pom.xml
similarity index 83%
copy from examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
copy to examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/pom.xml
index f19784a..ca1ca8d 100644
--- a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/pom.xml
@@ -20,15 +20,16 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <artifactId>shardingsphere-jdbc-memory-example</artifactId>
+ <artifactId>shardingsphere-jdbc-memory-local-example</artifactId>
<groupId>org.apache.shardingsphere.example</groupId>
<version>5.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
- <artifactId>shardingsphere-jdbc-memory-local-example</artifactId>
+ <artifactId>shardingsphere-jdbc-memory-local-readwrite-splitting-example</artifactId>
<name>${project.artifactId}</name>
+
<modules>
- <module>shardingsphere-jdbc-memory-local-sharding-example</module>
+ <module>shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example</module>
</modules>
</project>
diff --git a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/pom.xml
similarity index 76%
copy from examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
copy to examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/pom.xml
index f19784a..725057e 100644
--- a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/pom.xml
@@ -20,15 +20,18 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <artifactId>shardingsphere-jdbc-memory-example</artifactId>
+ <artifactId>shardingsphere-jdbc-memory-local-readwrite-splitting-example</artifactId>
<groupId>org.apache.shardingsphere.example</groupId>
<version>5.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <packaging>pom</packaging>
- <artifactId>shardingsphere-jdbc-memory-local-example</artifactId>
+ <artifactId>shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example</artifactId>
<name>${project.artifactId}</name>
- <modules>
- <module>shardingsphere-jdbc-memory-local-sharding-example</module>
- </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-jdbc-core</artifactId>
+ </dependency>
+ </dependencies>
</project>
diff --git a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJdbcConfiguration.java b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example [...]
new file mode 100644
index 0000000..c727549
--- /dev/null
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJdbcConfiguration.java
@@ -0,0 +1,75 @@
+/*
+ * 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.example.readwrite.splitting.jdbc;
+
+import com.zaxxer.hikari.HikariDataSource;
+import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
+import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
+import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
+
+import javax.sql.DataSource;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+public final class MemoryLocalReadwriteSplittingJdbcConfiguration {
+
+ private static final String HOST = "localhost";
+
+ private static final int PORT = 3306;
+
+ private static final String USER_NAME = "root";
+
+ private static final String PASSWORD = "123456";
+
+ /**
+ * Create a DataSource object, which is an object rewritten by ShardingSphere itself
+ * and contains various rules for rewriting the original data storage. When in use, you only need to use this object.
+ * @return
+ * @throws SQLException
+ */
+ public DataSource getDataSource() throws SQLException {
+ return ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Collections.singleton(createReadwriteSplittingRuleConfiguration()), new Properties());
+ }
+
+ private ReadwriteSplittingRuleConfiguration createReadwriteSplittingRuleConfiguration() {
+ ReadwriteSplittingDataSourceRuleConfiguration dataSourceConfig = new ReadwriteSplittingDataSourceRuleConfiguration(
+ "demo_read_query_ds", "", "demo_write_ds", Arrays.asList("demo_read_ds_0", "demo_read_ds_1"), null);
+ return new ReadwriteSplittingRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap());
+ }
+
+ private Map<String, DataSource> createDataSourceMap() {
+ Map<String, DataSource> result = new HashMap<>(3, 1);
+ result.put("demo_write_ds", createDataSource("demo_write_ds"));
+ result.put("demo_read_ds_0", createDataSource("demo_read_ds_0"));
+ result.put("demo_read_ds_1", createDataSource("demo_read_ds_1"));
+ return result;
+ }
+
+ private DataSource createDataSource(final String dataSourceName) {
+ HikariDataSource result = new HikariDataSource();
+ result.setDriverClassName("com.mysql.jdbc.Driver");
+ result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8", HOST, PORT, dataSourceName));
+ result.setUsername(USER_NAME);
+ result.setPassword(PASSWORD);
+ return result;
+ }
+}
diff --git a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJdbcExample.java b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shard [...]
new file mode 100644
index 0000000..14ae473
--- /dev/null
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJdbcExample.java
@@ -0,0 +1,32 @@
+/*
+ * 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.example.readwrite.splitting.jdbc;
+
+
+import javax.sql.DataSource;
+import java.sql.SQLException;
+
+public class MemoryLocalReadwriteSplittingJdbcExample {
+
+ public static void main(final String[] args) throws SQLException {
+ MemoryLocalReadwriteSplittingJdbcConfiguration shardingConfiguration = new MemoryLocalReadwriteSplittingJdbcConfiguration();
+ DataSource dataSource = shardingConfiguration.getDataSource();
+ MemoryLocalReadwriteSplittingJdbcExampleService exampleService = new MemoryLocalReadwriteSplittingJdbcExampleService(dataSource);
+ exampleService.run();
+ }
+}
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJd [...]
similarity index 93%
copy from examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl
copy to examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJdbcExampleService.java
index 6cffe99..77f1ef3 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/jdbc/ExampleService.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/MemoryLocalReadwriteSplittingJdbcExampleService.java
@@ -15,14 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')};
+package org.apache.shardingsphere.example.readwrite.splitting.jdbc;
import lombok.AllArgsConstructor;
-import org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity.Order;
-import org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity.OrderItem;
-<#if framework?contains("spring")>
-import org.springframework.stereotype.Service;
-</#if>
+import org.apache.shardingsphere.example.readwrite.splitting.jdbc.entity.Order;
+import org.apache.shardingsphere.example.readwrite.splitting.jdbc.entity.OrderItem;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -34,15 +31,8 @@ import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-<#assign frameworkName="">
-<#list framework?split("-") as framework1>
- <#assign frameworkName=frameworkName + framework1?cap_first>
-</#list>
-<#if framework?contains("spring")>
-@Service
-</#if>
@AllArgsConstructor
-public final class ${mode?cap_first}${transaction?cap_first}${feature?cap_first}${frameworkName}ExampleService {
+public final class MemoryLocalReadwriteSplittingJdbcExampleService {
private final DataSource dataSource;
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/entity/Order.java
similarity index 70%
copy from examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl
copy to examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/entity/Order.java
index 3bf5d32..ef77180 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/Order.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/entity/Order.java
@@ -15,46 +15,20 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity;
+package org.apache.shardingsphere.example.readwrite.splitting.jdbc.entity;
-<#if framework?contains("jpa")>
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-</#if>
import java.io.Serializable;
-<#if framework?contains("jpa")>
-@Entity
-@Table(name = "t_order")
-</#if>
public class Order implements Serializable {
private static final long serialVersionUID = 8306802022239174861L;
- <#if framework?contains("jpa")>
- @Id
- @Column(name = "order_id")
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- </#if>
private long orderId;
- <#if framework?contains("jpa")>
- @Column(name = "user_id")
- </#if>
private int userId;
- <#if framework?contains("jpa")>
- @Column(name = "address_id")
- </#if>
private long addressId;
- <#if framework?contains("jpa")>
- @Column(name = "status")
- </#if>
private String status;
public long getOrderId() {
diff --git a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/entity/OrderItem.java
similarity index 70%
copy from examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl
copy to examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/entity/OrderItem.java
index 30a27fc..a501ce7 100644
--- a/examples/shardingsphere-sample/shardingsphere-example-engine/src/main/resources/template/entity/OrderItem.ftl
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/java/org/apache/shardingsphere/example/readwrite/splitting/jdbc/entity/OrderItem.java
@@ -15,46 +15,20 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.example.${feature}.${framework?replace('-', '.')}.entity;
+package org.apache.shardingsphere.example.readwrite.splitting.jdbc.entity;
-<#if framework?contains("jpa")>
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-</#if>
import java.io.Serializable;
-<#if framework?contains("jpa")>
-@Entity
-@Table(name = "t_order_item")
-</#if>
public class OrderItem implements Serializable {
private static final long serialVersionUID = 1332162822494069342L;
- <#if framework?contains("jpa")>
- @Id
- @Column(name = "order_item_id")
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- </#if>
private long orderItemId;
- <#if framework?contains("jpa")>
- @Column(name = "order_id")
- </#if>
private long orderId;
- <#if framework?contains("jpa")>
- @Column(name = "user_id")
- </#if>
private int userId;
- <#if framework?contains("jpa")>
- @Column(name = "status")
- </#if>
private String status;
public long getOrderItemId() {
diff --git a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/resources/logback.xml
similarity index 54%
copy from examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
copy to examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/resources/logback.xml
index f19784a..8c81a7f 100644
--- a/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/pom.xml
+++ b/examples/shardingsphere-sample/shardingsphere-jdbc-sample/shardingsphere-jdbc-memory-example/shardingsphere-jdbc-memory-local-example/shardingsphere-jdbc-memory-local-readwrite-splitting-example/shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example/src/main/resources/logback.xml
@@ -16,19 +16,19 @@
~ limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>shardingsphere-jdbc-memory-example</artifactId>
- <groupId>org.apache.shardingsphere.example</groupId>
- <version>5.0.1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <packaging>pom</packaging>
- <artifactId>shardingsphere-jdbc-memory-local-example</artifactId>
- <name>${project.artifactId}</name>
- <modules>
- <module>shardingsphere-jdbc-memory-local-sharding-example</module>
- </modules>
-</project>
+<configuration>
+ <property name="log.context.name" value="shardingsphere-jdbc-memory-local-readwrite-splitting-jdbc-example" />
+ <property name="log.charset" value="UTF-8" />
+ <property name="log.pattern" value="[%-5level] %date --%thread-- [%logger] %msg %n" />
+ <contextName>${log.context.name}</contextName>
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder charset="${log.charset}">
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <root>
+ <level value="INFO" />
+ <appender-ref ref="STDOUT" />
+ </root>
+</configuration>