diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java index 363b0faf084..a542cd64888 100644 --- a/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java +++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/com/alibaba/dubbo/rpc/RpcContext.java @@ -154,22 +154,7 @@ public void setResponse(Object response) { * @return provider side. */ public boolean isProviderSide() { - URL url = getUrl(); - if (url == null) { - return false; - } - InetSocketAddress address = getRemoteAddress(); - if (address == null) { - return false; - } - String host; - if (address.getAddress() == null) { - host = address.getHostName(); - } else { - host = address.getAddress().getHostAddress(); - } - return url.getPort() != address.getPort() || - !NetUtils.filterLocalHost(url.getIp()).equals(NetUtils.filterLocalHost(host)); + return !isConsumerSide(); } /** @@ -178,22 +163,7 @@ public boolean isProviderSide() { * @return consumer side. */ public boolean isConsumerSide() { - URL url = getUrl(); - if (url == null) { - return false; - } - InetSocketAddress address = getRemoteAddress(); - if (address == null) { - return false; - } - String host; - if (address.getAddress() == null) { - host = address.getHostName(); - } else { - host = address.getAddress().getHostAddress(); - } - return url.getPort() == address.getPort() && - NetUtils.filterLocalHost(url.getIp()).equals(NetUtils.filterLocalHost(host)); + return getUrl().getParameter(Constants.SIDE_KEY, Constants.PROVIDER_SIDE).equals(Constants.CONSUMER_SIDE); } /**