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 {
     
     /**

Reply via email to