This is an automated email from the ASF dual-hosted git repository.
yx9o 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 204f800 Refactor SPI example to facilitate adding more types of
examples. (#15758)
204f800 is described below
commit 204f8005d46764c720d737e04a5b4b89134506bb
Author: Raigor <[email protected]>
AuthorDate: Wed Mar 2 22:57:46 2022 +0800
Refactor SPI example to facilitate adding more types of examples. (#15758)
* Refactor SPI example to facilitate adding more types of examples.
* Keep blank line in the end of file.
* Update context name for logback.
---
.../spi-based-sharding-algorithm-example/pom.xml | 17 ++++-------
.../pom.xml | 6 ++--
...IBasedShardingRawYamlConfigurationExample.java} | 13 +++++----
.../raw/jdbc}/factory/YamlDataSourceFactory.java | 9 +++---
.../SPIBasedStandardShardingAlgorithmFixture.java} | 7 +++--
...e.shardingsphere.sharding.spi.ShardingAlgorithm | 2 +-
.../resources/META-INF/sharding-databases.yaml | 0
.../src/main/resources/logback.xml | 34 ++++++++++++++++++++++
8 files changed, 59 insertions(+), 29 deletions(-)
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
index 43ddca0..bc2b0a9 100644
---
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
@@ -27,16 +27,9 @@
</parent>
<artifactId>spi-based-sharding-algorithm-example</artifactId>
<name>${project.artifactId}</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.shardingsphere.example</groupId>
- <artifactId>example-raw-jdbc</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-jdbc-core</artifactId>
- </dependency>
- </dependencies>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>spi-based-sharding-raw-jdbc-example</module>
+ </modules>
</project>
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/pom.xml
similarity index 92%
copy from
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
copy to
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/pom.xml
index 43ddca0..00bcb36 100644
---
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/pom.xml
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/pom.xml
@@ -21,13 +21,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
+ <artifactId>spi-based-sharding-algorithm-example</artifactId>
<groupId>org.apache.shardingsphere.example</groupId>
- <artifactId>custom-sharding-algortihm-example</artifactId>
<version>${revision}</version>
</parent>
- <artifactId>spi-based-sharding-algorithm-example</artifactId>
+ <artifactId>spi-based-sharding-raw-jdbc-example</artifactId>
<name>${project.artifactId}</name>
-
+
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere.example</groupId>
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/YamlSpiBasedShardingAlgorithmExample.java
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/or
[...]
similarity index 86%
rename from
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/YamlSpiBasedShardingAlgorithmExample.java
rename to
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/extension/spibased/sharding/raw/jdbc/SPIBasedShardingRawYamlConfigurationExample.java
index b2c28f5..0f2ecbf 100644
---
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/YamlSpiBasedShardingAlgorithmExample.java
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/extension/spibased/sharding/raw/jdbc/SPIBasedShardingRawYamlConfigurationExample.java
@@ -15,18 +15,19 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.example.extension.sharding.algortihm.spibased;
+package org.apache.shardingsphere.example.extension.spibased.sharding.raw.jdbc;
-import java.io.IOException;
-import java.sql.SQLException;
-import javax.sql.DataSource;
import org.apache.shardingsphere.example.core.api.ExampleExecuteTemplate;
import org.apache.shardingsphere.example.core.api.service.ExampleService;
import org.apache.shardingsphere.example.core.jdbc.service.OrderServiceImpl;
-import
org.apache.shardingsphere.example.extension.sharding.algortihm.spibased.factory.YamlDataSourceFactory;
+import
org.apache.shardingsphere.example.extension.spibased.sharding.raw.jdbc.factory.YamlDataSourceFactory;
import org.apache.shardingsphere.example.type.ShardingType;
-public final class YamlSpiBasedShardingAlgorithmExample {
+import javax.sql.DataSource;
+import java.io.IOException;
+import java.sql.SQLException;
+
+public final class SPIBasedShardingRawYamlConfigurationExample {
private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/factory/YamlDataSourceFactory.java
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apach
[...]
similarity index 94%
rename from
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/factory/YamlDataSourceFactory.java
rename to
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/extension/spibased/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
index 66a675b..682d42f 100644
---
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/factory/YamlDataSourceFactory.java
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/extension/spibased/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
@@ -15,14 +15,15 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.example.extension.sharding.algortihm.spibased.factory;
+package
org.apache.shardingsphere.example.extension.spibased.sharding.raw.jdbc.factory;
+import
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory;
+import org.apache.shardingsphere.example.type.ShardingType;
+
+import javax.sql.DataSource;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
-import javax.sql.DataSource;
-import
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory;
-import org.apache.shardingsphere.example.type.ShardingType;
public final class YamlDataSourceFactory {
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/spi/SpiBasedShardingAlgorithm.java
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apach
[...]
similarity index 90%
rename from
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/spi/SpiBasedShardingAlgorithm.java
rename to
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/extension/spibased/sharding/raw/jdbc/fixture/SPIBasedStandardShardingAlgorithmFixture.java
index 29077bd..cfe405a 100644
---
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/java/org/apache/shardingsphere/example/extension/sharding/algortihm/spibased/spi/SpiBasedShardingAlgorithm.java
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/extension/spibased/sharding/raw/jdbc/fixture/SPIBasedStandardShardingAlgorithmFixture.java
@@ -15,14 +15,15 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.example.extension.sharding.algortihm.spibased.spi;
+package
org.apache.shardingsphere.example.extension.spibased.sharding.raw.jdbc.fixture;
-import java.util.Collection;
import
org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import
org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
import
org.apache.shardingsphere.sharding.api.sharding.standard.StandardShardingAlgorithm;
-public final class SpiBasedShardingAlgorithm implements
StandardShardingAlgorithm<Integer> {
+import java.util.Collection;
+
+public final class SPIBasedStandardShardingAlgorithmFixture implements
StandardShardingAlgorithm<Integer> {
@Override
public String doSharding(final Collection<String> availableTargetNames,
final PreciseShardingValue<Integer> shardingValue) {
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/META-INF/services/org.apache.sh
[...]
similarity index 86%
rename from
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
rename to
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
index 06f557a..9ccc7d8 100644
---
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.example.extension.sharding.algortihm.spibased.spi.SpiBasedShardingAlgorithm
+org.apache.shardingsphere.example.extension.spibased.sharding.raw.jdbc.fixture.SPIBasedStandardShardingAlgorithmFixture
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/resources/META-INF/sharding-databases.yaml
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-databases.yaml
similarity index 100%
rename from
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/src/main/resources/META-INF/sharding-databases.yaml
rename to
examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-databases.yaml
diff --git
a/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/logback.xml
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/logback.xml
new file mode 100644
index 0000000..10dd2f6
--- /dev/null
+++
b/examples/shardingsphere-jdbc-example/single-feature-example/extension-example/custom-sharding-algortihm-example/spi-based-sharding-algorithm-example/spi-based-sharding-raw-jdbc-example/src/main/resources/logback.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+
+<configuration>
+ <property name="log.context.name"
value="spi-based-sharding-raw-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>