in impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java [263:285]
private Runnable buildProcessorTask(final ChannelHandlerContext ctx, final RemotingCommand cmd,
final Pair<RequestProcessor, ExecutorService> processorExecutorPair, final RemotingChannel channel) {
return new Runnable() {
@Override
public void run() {
try {
interceptorGroup.beforeRequest(new RequestContext(RemotingEndPoint.RESPONSE,
RemotingUtil.extractRemoteAddress(ctx.channel()), cmd));
RemotingCommand response = processorExecutorPair.getLeft().processRequest(channel, cmd);
interceptorGroup.afterResponseReceived(new ResponseContext(RemotingEndPoint.RESPONSE,
RemotingUtil.extractRemoteAddress(ctx.channel()), cmd, response));
handleResponse(response, cmd, ctx);
} catch (Throwable e) {
LOG.error(String.format("Process request %s error !", cmd.toString()), e);
handleException(e, cmd, ctx);
}
}
};
}