You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by il...@apache.org on 2018/05/14 08:05:58 UTC
[incubator-dubbo] branch master updated: Extracting public code to
the parent class (#1776)
This is an automated email from the ASF dual-hosted git repository.
iluo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new ddc1ea4 Extracting public code to the parent class (#1776)
ddc1ea4 is described below
commit ddc1ea4149d3e6879be21a55981f4ccb5ad14920
Author: 苏承祥 <11...@qq.com>
AuthorDate: Mon May 14 16:05:42 2018 +0800
Extracting public code to the parent class (#1776)
* Extracting public code to the parent class
* test
---
.../remoting/transport/dispatcher/WrappedChannelHandler.java | 8 ++++++++
.../remoting/transport/dispatcher/all/AllChannelHandler.java | 8 --------
.../dispatcher/connection/ConnectionOrderedChannelHandler.java | 10 ++--------
.../dispatcher/execution/ExecutionChannelHandler.java | 4 +++-
.../dispatcher/message/MessageOnlyChannelHandler.java | 5 +----
.../dubbo/remoting/transport/netty/ClientReconnectTest.java | 1 +
6 files changed, 15 insertions(+), 21 deletions(-)
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java
index 42ed71c..71f4999 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/WrappedChannelHandler.java
@@ -109,4 +109,12 @@ public class WrappedChannelHandler implements ChannelHandlerDelegate {
return url;
}
+ public ExecutorService getExecutorService() {
+ ExecutorService cexecutor = executor;
+ if (cexecutor == null || cexecutor.isShutdown()) {
+ cexecutor = SHARED_EXECUTOR;
+ }
+ return cexecutor;
+ }
+
}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java
index 9e5b331..d44f065 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/all/AllChannelHandler.java
@@ -88,12 +88,4 @@ public class AllChannelHandler extends WrappedChannelHandler {
throw new ExecutionException("caught event", channel, getClass() + " error when process caught event .", t);
}
}
-
- private ExecutorService getExecutorService() {
- ExecutorService cexecutor = executor;
- if (cexecutor == null || cexecutor.isShutdown()) {
- cexecutor = SHARED_EXECUTOR;
- }
- return cexecutor;
- }
}
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java
index 1b162d5..fb432a8 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/connection/ConnectionOrderedChannelHandler.java
@@ -75,10 +75,7 @@ public class ConnectionOrderedChannelHandler extends WrappedChannelHandler {
@Override
public void received(Channel channel, Object message) throws RemotingException {
- ExecutorService cexecutor = executor;
- if (cexecutor == null || cexecutor.isShutdown()) {
- cexecutor = SHARED_EXECUTOR;
- }
+ ExecutorService cexecutor = getExecutorService();
try {
cexecutor.execute(new ChannelEventRunnable(channel, handler, ChannelState.RECEIVED, message));
} catch (Throwable t) {
@@ -100,10 +97,7 @@ public class ConnectionOrderedChannelHandler extends WrappedChannelHandler {
@Override
public void caught(Channel channel, Throwable exception) throws RemotingException {
- ExecutorService cexecutor = executor;
- if (cexecutor == null || cexecutor.isShutdown()) {
- cexecutor = SHARED_EXECUTOR;
- }
+ ExecutorService cexecutor = getExecutorService();
try {
cexecutor.execute(new ChannelEventRunnable(channel, handler, ChannelState.CAUGHT, exception));
} catch (Throwable t) {
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java
index 8a19bdd..d31840b 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/execution/ExecutionChannelHandler.java
@@ -27,6 +27,7 @@ import com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable;
import com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.ChannelState;
import com.alibaba.dubbo.remoting.transport.dispatcher.WrappedChannelHandler;
+import java.util.concurrent.ExecutorService;
import java.util.concurrent.RejectedExecutionException;
/**
@@ -41,9 +42,10 @@ public class ExecutionChannelHandler extends WrappedChannelHandler {
@Override
public void received(Channel channel, Object message) throws RemotingException {
+ ExecutorService cexecutor = getExecutorService();
if (message instanceof Request) {
try {
- executor.execute(new ChannelEventRunnable(channel, handler, ChannelState.RECEIVED, message));
+ cexecutor.execute(new ChannelEventRunnable(channel, handler, ChannelState.RECEIVED, message));
} catch (Throwable t) {
// FIXME: when the thread pool is full, SERVER_THREADPOOL_EXHAUSTED_ERROR cannot return properly,
// therefore the consumer side has to wait until gets timeout. This is a temporary solution to prevent
diff --git a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java
index 5abc04e..cccd931 100644
--- a/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java
+++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/com/alibaba/dubbo/remoting/transport/dispatcher/message/MessageOnlyChannelHandler.java
@@ -35,10 +35,7 @@ public class MessageOnlyChannelHandler extends WrappedChannelHandler {
@Override
public void received(Channel channel, Object message) throws RemotingException {
- ExecutorService cexecutor = executor;
- if (cexecutor == null || cexecutor.isShutdown()) {
- cexecutor = SHARED_EXECUTOR;
- }
+ ExecutorService cexecutor = getExecutorService();
try {
cexecutor.execute(new ChannelEventRunnable(channel, handler, ChannelState.RECEIVED, message));
} catch (Throwable t) {
diff --git a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java
index b00f567..f22ab11 100644
--- a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java
+++ b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientReconnectTest.java
@@ -85,6 +85,7 @@ public class ClientReconnectTest {
try {
Exchangers.connect(url);
} catch (Exception e) {
+
//do nothing
}
Thread.sleep(1500);
--
To stop receiving notification emails like this one, please contact
iluo@apache.org.