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

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


The following commit(s) were added to refs/heads/3.2 by this push:
     new c05127e360 Pretty invokers toString format (#12618)
c05127e360 is described below

commit c05127e360ec6034e9fdbac158871d3e0f32939a
Author: Albumen Kevin <[email protected]>
AuthorDate: Thu Jun 29 19:34:37 2023 +0800

    Pretty invokers toString format (#12618)
---
 .../rpc/cluster/directory/AbstractDirectory.java   | 24 ++++++++++++++++++++++
 .../cluster/support/AbstractClusterInvoker.java    |  2 +-
 .../support/wrapper/ScopeClusterInvoker.java       |  9 ++++++++
 .../client/migration/MigrationInvoker.java         |  9 ++++++++
 .../registry/integration/RegistryDirectory.java    |  6 ++++++
 5 files changed, 49 insertions(+), 1 deletion(-)

diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
index c4561dfe4f..3583b15f1c 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
@@ -532,4 +532,28 @@ public abstract class AbstractDirectory<T> implements 
Directory<T> {
 
         return serviceNumMap;
     }
+
+    @Override
+    public String toString() {
+        return "Directory(" +
+            "invokers: " + invokers.size() + "[" +
+            invokers.stream()
+                .map(Invoker::getUrl)
+                .map(URL::getAddress)
+                .limit(3)
+                .collect(Collectors.joining(", ")) + "]" +
+            ", validInvokers: " + validInvokers.size() + "[" +
+            validInvokers.stream()
+                .map(Invoker::getUrl)
+                .map(URL::getAddress)
+                .limit(3)
+                .collect(Collectors.joining(", ")) + "]" +
+            ", invokersToReconnect: " + invokersToReconnect.size() + "[" +
+            invokersToReconnect.stream()
+                .map(Invoker::getUrl)
+                .map(URL::getAddress)
+                .limit(3)
+                .collect(Collectors.joining(", ")) + "]" +
+            ')';
+    }
 }
diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
index f6325df43b..861f5ab789 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvoker.java
@@ -365,7 +365,7 @@ public abstract class AbstractClusterInvoker<T> implements 
ClusterInvoker<T> {
             throw new 
RpcException(RpcException.NO_INVOKER_AVAILABLE_AFTER_FILTER, "Failed to invoke 
the method "
                 + RpcUtils.getMethodName(invocation) + " in the service " + 
getInterface().getName()
                 + ". No provider available for the service " + 
getDirectory().getConsumerUrl().getServiceKey()
-                + " from registry " + getDirectory().getUrl().getAddress()
+                + " from registry " + getDirectory()
                 + " on the consumer " + NetUtils.getLocalHost()
                 + " using the dubbo version " + Version.getVersion()
                 + ". Please check if the providers have been started and 
registered.");
diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterInvoker.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterInvoker.java
index 98fd33bfef..d1d47645f7 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterInvoker.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterInvoker.java
@@ -307,4 +307,13 @@ public class ScopeClusterInvoker<T> implements 
ClusterInvoker<T>, ExporterChange
         }
     }
 
+    @Override
+    public String toString() {
+        return "ScopeClusterInvoker{" +
+            "directory=" + directory +
+            ", isExported=" + isExported +
+            ", peerFlag=" + peerFlag +
+            ", injvmFlag=" + injvmFlag +
+            '}';
+    }
 }
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
index d9176f4c43..c4662966e8 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
@@ -544,4 +544,13 @@ public class MigrationInvoker<T> implements 
MigrationClusterInvoker<T> {
     public URL getConsumerUrl() {
         return consumerUrl;
     }
+
+    @Override
+    public String toString() {
+        return "MigrationInvoker{" +
+            "serviceKey=" + consumerUrl.getServiceKey() +
+            ", invoker=" + decideInvoker() +
+            ", step=" + step +
+            '}';
+    }
 }
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
index 2c58510507..192cc4650d 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
@@ -694,4 +694,10 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
         }
     }
 
+    @Override
+    public String toString() {
+        return "RegistryDirectory(" +
+            "registry: " + getUrl().getAddress() +
+            ")-" + super.toString();
+    }
 }

Reply via email to