This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 15b89d0f964 Add SingletonSPI on ShardingSphereURLProvider (#30127)
15b89d0f964 is described below
commit 15b89d0f964fc33819b1a099782131144876d14d
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Feb 15 11:20:45 2024 +0800
Add SingletonSPI on ShardingSphereURLProvider (#30127)
---
.../driver/jdbc/core/driver/DriverDataSourceCache.java | 6 +++---
.../driver/jdbc/core/driver/url/ShardingSphereURLManager.java | 2 +-
.../driver/jdbc/core/driver/url/ShardingSphereURLProvider.java | 3 +++
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/DriverDataSourceCache.java
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/DriverDataSourceCache.java
index e176231bd3c..0075226a19f 100644
---
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/DriverDataSourceCache.java
+++
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/DriverDataSourceCache.java
@@ -44,13 +44,13 @@ public final class DriverDataSourceCache {
if (dataSourceMap.containsKey(url)) {
return dataSourceMap.get(url);
}
- return dataSourceMap.computeIfAbsent(url, driverUrl ->
createDataSource(driverUrl, urlPrefix));
+ return dataSourceMap.computeIfAbsent(url, driverUrl ->
createDataSource(driverUrl.substring(urlPrefix.length())));
}
@SuppressWarnings("unchecked")
- private <T extends Throwable> DataSource createDataSource(final String
url, final String urlPrefix) throws T {
+ private <T extends Throwable> DataSource createDataSource(final String
url) throws T {
try {
- return
YamlShardingSphereDataSourceFactory.createDataSource(ShardingSphereURLManager.getContent(url.substring(urlPrefix.length())));
+ return
YamlShardingSphereDataSourceFactory.createDataSource(ShardingSphereURLManager.getContent(url));
} catch (final IOException ex) {
throw (T) new SQLException(ex);
} catch (final SQLException ex) {
diff --git
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLManager.java
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLManager.java
index 78c756f45e3..7ae284f1a02 100644
---
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLManager.java
+++
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLManager.java
@@ -32,7 +32,7 @@ public final class ShardingSphereURLManager {
/**
* Get configuration content from URL.
*
- * @param url driver URL
+ * @param url URL
* @return configuration content
* @throws URLProviderNotFoundException driver URL provider not found
exception
*/
diff --git
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLProvider.java
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLProvider.java
index e2db3b322c9..e85528fad5a 100644
---
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLProvider.java
+++
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/driver/url/ShardingSphereURLProvider.java
@@ -17,9 +17,12 @@
package org.apache.shardingsphere.driver.jdbc.core.driver.url;
+import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
+
/**
* ShardingSphere URL provider.
*/
+@SingletonSPI
public interface ShardingSphereURLProvider {
/**