You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by vi...@apache.org on 2019/09/05 06:40:09 UTC

[dubbo] branch master updated: issue #4699: org.apache.dubbo.remoting.exchange.support.DefaultFuture closeChannel doesn't work as expected (#4700)

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

victory 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 cb1331e  issue #4699: org.apache.dubbo.remoting.exchange.support.DefaultFuture closeChannel doesn't work as expected (#4700)
cb1331e is described below

commit cb1331e04ff9eb7dd9ea94fcbb17d13c6f959134
Author: Ian Luo <ia...@gmail.com>
AuthorDate: Thu Sep 5 14:39:58 2019 +0800

    issue #4699: org.apache.dubbo.remoting.exchange.support.DefaultFuture closeChannel doesn't work as expected (#4700)
    
    * issue #4699: org.apache.dubbo.remoting.exchange.support.DefaultFuture#closeChannel doesn't work as expected
    
    * Revert "issue #4699: org.apache.dubbo.remoting.exchange.support.DefaultFuture#closeChannel doesn't work as expected"
---
 .../org/apache/dubbo/remoting/transport/netty/NettyChannel.java    | 7 +++++++
 .../org/apache/dubbo/remoting/transport/netty/NettyClient.java     | 4 ++++
 .../org/apache/dubbo/remoting/transport/netty4/NettyChannel.java   | 7 +++++++
 .../org/apache/dubbo/remoting/transport/netty4/NettyClient.java    | 4 ++++
 4 files changed, 22 insertions(+)

diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyChannel.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyChannel.java
index 45633b9..cad57b9 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyChannel.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyChannel.java
@@ -185,6 +185,13 @@ final class NettyChannel extends AbstractChannel {
         if (obj == null) {
             return false;
         }
+
+        // FIXME: a hack to make org.apache.dubbo.remoting.exchange.support.DefaultFuture.closeChannel work
+        if (obj instanceof NettyClient) {
+            NettyClient client = (NettyClient) obj;
+            return channel.equals(client.getNettyChannel());
+        }
+
         if (getClass() != obj.getClass()) {
             return false;
         }
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyClient.java b/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyClient.java
index e31edcc..dc26ffd 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyClient.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyClient.java
@@ -163,4 +163,8 @@ public class NettyClient extends AbstractClient {
         return NettyChannel.getOrAddChannel(c, getUrl(), this);
     }
 
+    Channel getNettyChannel() {
+        return channel;
+    }
+
 }
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
index f8bbcf6..53ffa47 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
@@ -218,6 +218,13 @@ final class NettyChannel extends AbstractChannel {
         if (obj == null) {
             return false;
         }
+
+        // FIXME: a hack to make org.apache.dubbo.remoting.exchange.support.DefaultFuture.closeChannel work
+        if (obj instanceof NettyClient) {
+            NettyClient client = (NettyClient) obj;
+            return channel.equals(client.getNettyChannel());
+        }
+
         if (getClass() != obj.getClass()) {
             return false;
         }
diff --git a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
index 64b98d2..e030b46 100644
--- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
+++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
@@ -198,6 +198,10 @@ public class NettyClient extends AbstractClient {
         return NettyChannel.getOrAddChannel(c, getUrl(), this);
     }
 
+    Channel getNettyChannel() {
+        return channel;
+    }
+
     @Override
     public boolean canHandleIdle() {
         return true;