SpringStudent commented on code in PR #13155:
URL: https://github.com/apache/dubbo/pull/13155#discussion_r1351281962


##########
dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ReflectionServiceDescriptor.java:
##########
@@ -89,6 +98,21 @@ private void initMethods() {
                     +" stream method signatures. method(" + methodName + ")");
         });
     }
+    
+    public static boolean isProtobufClass(Class<?> clazz) {
+        while (clazz != Object.class && clazz != null) {
+            Class<?>[] interfaces = clazz.getInterfaces();
+            if (interfaces.length > 0) {
+                for (Class<?> clazzInterface : interfaces) {
+                    if 
(PROTOBUF_MESSAGE_CLASS_NAME.equalsIgnoreCase(clazzInterface.getName())) {
+                        return true;
+                    }
+                }
+            }
+            clazz = clazz.getSuperclass();

Review Comment:
   > > I think this only happens when the service is started and registered, 
not when rpc is called. The performance impact can be ignored.
   > 
   > The usage time during startup is also important. When the service scale is 
large, startup can take tens of minutes or even hours.
   
   What can i do fix it.



##########
dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ReflectionServiceDescriptor.java:
##########
@@ -89,6 +98,21 @@ private void initMethods() {
                     +" stream method signatures. method(" + methodName + ")");
         });
     }
+    
+    public static boolean isProtobufClass(Class<?> clazz) {
+        while (clazz != Object.class && clazz != null) {
+            Class<?>[] interfaces = clazz.getInterfaces();
+            if (interfaces.length > 0) {
+                for (Class<?> clazzInterface : interfaces) {
+                    if 
(PROTOBUF_MESSAGE_CLASS_NAME.equalsIgnoreCase(clazzInterface.getName())) {
+                        return true;
+                    }
+                }
+            }
+            clazz = clazz.getSuperclass();

Review Comment:
   > > I think this only happens when the service is started and registered, 
not when rpc is called. The performance impact can be ignored.
   > 
   > The usage time during startup is also important. When the service scale is 
large, startup can take tens of minutes or even hours.
   
   What can i do to fix it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to