You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2022/05/07 09:47:14 UTC

[dubbo] branch 3.0 updated: [3.0] 'com.alibaba.dubbo' package compatibility (#9993)

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 5880b02095 [3.0] 'com.alibaba.dubbo' package compatibility (#9993)
5880b02095 is described below

commit 5880b02095d61d941d2e530c236c4f524880d9ec
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat May 7 17:46:35 2022 +0800

    [3.0] 'com.alibaba.dubbo' package compatibility (#9993)
    
    fixes #9977
---
 .../java/com/alibaba/dubbo/cache/CacheFactory.java |  4 ++++
 .../com/alibaba/dubbo/monitor/MonitorFactory.java  |  2 +-
 .../alibaba/dubbo/registry/RegistryFactory.java    |  2 +-
 .../registry/support/AbstractRegistryFactory.java  |  8 +++++++-
 .../{RouterFactory.java => Configurator.java}      | 22 ++++++++++++++++------
 .../dubbo/rpc/cluster/ConfiguratorFactory.java     | 11 +++++++++++
 .../alibaba/dubbo/rpc/cluster/RouterFactory.java   |  2 +-
 .../registry/client/metadata/MetadataUtils.java    |  2 +-
 .../grpc/ReferenceCountManagedChannel.java         |  1 +
 9 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/cache/CacheFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/cache/CacheFactory.java
index 3d18fc4825..d72661d2df 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/cache/CacheFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/cache/CacheFactory.java
@@ -24,4 +24,8 @@ import com.alibaba.dubbo.rpc.Invocation;
 public interface CacheFactory extends org.apache.dubbo.cache.CacheFactory {
 
     Cache getCache(URL url, Invocation invocation);
+
+    default org.apache.dubbo.cache.Cache getCache(org.apache.dubbo.common.URL url, org.apache.dubbo.rpc.Invocation invocation) {
+        return this.getCache(new URL(url), new Invocation.CompatibleInvocation(invocation));
+    }
 }
diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/monitor/MonitorFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/monitor/MonitorFactory.java
index ec9e6a524d..22e1d3ac64 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/monitor/MonitorFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/monitor/MonitorFactory.java
@@ -23,7 +23,7 @@ import org.apache.dubbo.monitor.Monitor;
 @Deprecated
 public interface MonitorFactory extends org.apache.dubbo.monitor.MonitorFactory {
 
-    Monitor getMonitor(com.alibaba.dubbo.common.URL url);
+    com.alibaba.dubbo.monitor.Monitor getMonitor(com.alibaba.dubbo.common.URL url);
 
     @Override
     default Monitor getMonitor(URL url) {
diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/RegistryFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/RegistryFactory.java
index 9e27883911..5c9361213b 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/RegistryFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/RegistryFactory.java
@@ -23,7 +23,7 @@ import org.apache.dubbo.registry.Registry;
 @Deprecated
 public interface RegistryFactory extends org.apache.dubbo.registry.RegistryFactory {
 
-    Registry getRegistry(com.alibaba.dubbo.common.URL url);
+    com.alibaba.dubbo.registry.Registry getRegistry(com.alibaba.dubbo.common.URL url);
 
     @Override
     default Registry getRegistry(URL url) {
diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java
index d611fa6ec7..231f9b50bd 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactory.java
@@ -19,12 +19,18 @@ package com.alibaba.dubbo.registry.support;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.registry.Registry;
 
+import com.alibaba.dubbo.registry.RegistryFactory;
+
 /**
  * 2019-04-16
  */
 @Deprecated
-public abstract class AbstractRegistryFactory extends org.apache.dubbo.registry.support.AbstractRegistryFactory {
+public abstract class AbstractRegistryFactory extends org.apache.dubbo.registry.support.AbstractRegistryFactory implements RegistryFactory {
 
+    @Override
+    public com.alibaba.dubbo.registry.Registry getRegistry(com.alibaba.dubbo.common.URL url) {
+        return (com.alibaba.dubbo.registry.Registry)super.getRegistry(url.getOriginalURL());
+    }
 
     protected abstract com.alibaba.dubbo.registry.Registry createRegistry(com.alibaba.dubbo.common.URL url);
 
diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/Configurator.java
similarity index 63%
copy from dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java
copy to dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/Configurator.java
index 2f7a303e6b..9a847ca281 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/Configurator.java
@@ -14,19 +14,29 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package com.alibaba.dubbo.rpc.cluster;
 
 import org.apache.dubbo.common.URL;
-import org.apache.dubbo.rpc.cluster.Router;
 
 @Deprecated
-public interface RouterFactory extends org.apache.dubbo.rpc.cluster.RouterFactory {
+public interface Configurator extends org.apache.dubbo.rpc.cluster.Configurator {
+    /**
+     * Get the configurator url.
+     *
+     * @return configurator url.
+     */
+    com.alibaba.dubbo.common.URL getUrl();
 
-    Router getRouter(com.alibaba.dubbo.common.URL url);
+    /**
+     * Configure the provider url.
+     *
+     * @param url - old provider url.
+     * @return new provider url.
+     */
+    com.alibaba.dubbo.common.URL configure(com.alibaba.dubbo.common.URL url);
 
     @Override
-    default Router getRouter(URL url) {
-        return this.getRouter(new com.alibaba.dubbo.common.URL(url));
+    default URL configure(URL url) {
+        return this.configure(new com.alibaba.dubbo.common.URL(url));
     }
 }
diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/ConfiguratorFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/ConfiguratorFactory.java
index 32798b2344..094a4d7c72 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/ConfiguratorFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/ConfiguratorFactory.java
@@ -16,6 +16,17 @@
  */
 package com.alibaba.dubbo.rpc.cluster;
 
+import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.extension.Adaptive;
+import org.apache.dubbo.rpc.cluster.Configurator;
+
 @Deprecated
 public interface ConfiguratorFactory extends org.apache.dubbo.rpc.cluster.ConfiguratorFactory {
+    @Adaptive("protocol")
+    com.alibaba.dubbo.rpc.cluster.Configurator getConfigurator(com.alibaba.dubbo.common.URL url);
+
+    @Override
+    default Configurator getConfigurator(URL url) {
+        return this.getConfigurator(new com.alibaba.dubbo.common.URL(url));
+    }
 }
diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java
index 2f7a303e6b..e0416b5a3d 100644
--- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java
+++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/rpc/cluster/RouterFactory.java
@@ -23,7 +23,7 @@ import org.apache.dubbo.rpc.cluster.Router;
 @Deprecated
 public interface RouterFactory extends org.apache.dubbo.rpc.cluster.RouterFactory {
 
-    Router getRouter(com.alibaba.dubbo.common.URL url);
+    com.alibaba.dubbo.rpc.cluster.Router getRouter(com.alibaba.dubbo.common.URL url);
 
     @Override
     default Router getRouter(URL url) {
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
index faee6362d1..bc6ddc13e0 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
@@ -54,7 +54,7 @@ public class MetadataUtils {
 
     public static void publishServiceDefinition(URL url, ServiceDescriptor serviceDescriptor, ApplicationModel applicationModel) {
         if (getMetadataReports(applicationModel).size() == 0) {
-            String msg = "Remote Metadata Report Server not hasn't been configured or unavailable . Unable to get Metadata from remote!";
+            String msg = "Remote Metadata Report Server is not provided or unavailable, will stop registering service definition to remote center!";
             logger.warn(msg);
         }
 
diff --git a/dubbo-rpc/dubbo-rpc-grpc/src/main/java/org/apache/dubbo/rpc/protocol/grpc/ReferenceCountManagedChannel.java b/dubbo-rpc/dubbo-rpc-grpc/src/main/java/org/apache/dubbo/rpc/protocol/grpc/ReferenceCountManagedChannel.java
index 8278ba49b5..a7b2dabca4 100644
--- a/dubbo-rpc/dubbo-rpc-grpc/src/main/java/org/apache/dubbo/rpc/protocol/grpc/ReferenceCountManagedChannel.java
+++ b/dubbo-rpc/dubbo-rpc-grpc/src/main/java/org/apache/dubbo/rpc/protocol/grpc/ReferenceCountManagedChannel.java
@@ -49,6 +49,7 @@ public class ReferenceCountManagedChannel extends ManagedChannel {
         if (referenceCount.decrementAndGet() <= 0) {
             return grpcChannel.shutdown();
         }
+
         return grpcChannel;
     }