This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 15ed9f8 extract duplicate code to a method (#5541)
15ed9f8 is described below
commit 15ed9f85929a30aaba0b02d23a00d4339f67dad3
Author: zhenxianyimeng <1920405...@qq.com>
AuthorDate: Fri Dec 27 13:27:18 2019 +0800
extract duplicate code to a method (#5541)
---
.../org/apache/dubbo/rpc/support/RpcUtils.java | 27 +++---
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git
a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/support/RpcUtils.java
b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/support/RpcUtils.java
index e1d85b7..7d4a1ab 100644
---
a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/support/RpcUtils.java
+++
b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/support/RpcUtils.java
@@ -57,13 +57,7 @@ public class RpcUtils {
&& !invocation.getMethodName().startsWith("$")) {
String service =
invocation.getInvoker().getUrl().getServiceInterface();
if (StringUtils.isNotEmpty(service)) {
-Class invokerInterface =
invocation.getInvoker().getInterface();
-Class cls = invokerInterface != null ?
ReflectUtils.forName(invokerInterface.getClassLoader(), service)
-: ReflectUtils.forName(service);
-Method method = cls.getMethod(invocation.getMethodName(),
invocation.getParameterTypes());
-if (method.getReturnType() == void.class) {
-return null;
-}
+Method method = getMethodByService(invocation, service);
return method.getReturnType();
}
}
@@ -81,13 +75,7 @@ public class RpcUtils {
&& !invocation.getMethodName().startsWith("$")) {
String service =
invocation.getInvoker().getUrl().getServiceInterface();
if (StringUtils.isNotEmpty(service)) {
-Class invokerInterface =
invocation.getInvoker().getInterface();
-Class cls = invokerInterface != null ?
ReflectUtils.forName(invokerInterface.getClassLoader(), service)
-: ReflectUtils.forName(service);
-Method method = cls.getMethod(invocation.getMethodName(),
invocation.getParameterTypes());
-if (method.getReturnType() == void.class) {
-return null;
-}
+Method method = getMethodByService(invocation, service);
return ReflectUtils.getReturnTypes(method);
}
}
@@ -226,4 +214,15 @@ public class RpcUtils {
}
return attachmentsToPass;
}
+
+private static Method getMethodByService(Invocation invocation, String
service) throws NoSuchMethodException {
+Class invokerInterface = invocation.getInvoker().getInterface();
+Class cls = invokerInterface != null ?
ReflectUtils.forName(invokerInterface.getClassLoader(), service)
+: ReflectUtils.forName(service);
+Method method = cls.getMethod(invocation.getMethodName(),
invocation.getParameterTypes());
+if (method.getReturnType() == void.class) {
+return null;
+}
+return method;
+}
}