From 207d4c055b70b6d6dae2ade8c2f4cd35f5f24d59 Mon Sep 17 00:00:00 2001 From: "shenhui.backend" Date: Tue, 15 Oct 2019 01:38:05 +0800 Subject: [PATCH] compatible with dledger --- .../remoting/netty/NettyRemotingAbstract.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java index e4a6e3b6..74fdabc2 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java @@ -51,6 +51,7 @@ import org.apache.rocketmq.remoting.exception.RemotingTimeoutException; import org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.RemotingSysResponseCode; +import org.omg.PortableServer.RequestProcessingPolicy; public abstract class NettyRemotingAbstract { @@ -200,7 +201,6 @@ public abstract class NettyRemotingAbstract { public void run() { try { doBeforeRpcHooks(RemotingHelper.parseChannelRemoteAddr(ctx.channel()), cmd); - AsyncNettyRequestProcessor processor = (AsyncNettyRequestProcessor)pair.getObject1(); final RemotingResponseCallback callback = new RemotingResponseCallback() { @Override public void callback(RemotingCommand response) { @@ -221,7 +221,15 @@ public abstract class NettyRemotingAbstract { } } }; - processor.asyncProcessRequest(ctx, cmd, callback); + if (pair.getObject1() instanceof AsyncNettyRequestProcessor) { + AsyncNettyRequestProcessor processor = (AsyncNettyRequestProcessor)pair.getObject1(); + processor.asyncProcessRequest(ctx, cmd, callback); + } else { + NettyRequestProcessor processor = pair.getObject1(); + RemotingCommand response = processor.processRequest(ctx, cmd); + doAfterRpcHooks(RemotingHelper.parseChannelRemoteAddr(ctx.channel()), cmd, response); + callback.callback(response); + } } catch (Throwable e) { log.error("process request exception", e); log.error(cmd.toString()); -- GitLab