dubbo源码阅读之provider-response

NettyHandler.messageReceived

  -->AbstractPeer.received

    -->MultiMessageHandler.received

      -->HeartbeatHandler.received

        -->AllChannelHandler.received

          -->ChannelEventRunnable.run //线程池 执行线程

            -->DecodeHandler.received

              -->HeaderExchangeHandler.received

                -->handleRequest(exchangeChannel, request)//网络通信接收处理 

                  -->DubboProtocol.reply

                    -->getInvoker

                      -->exporterMap.get(serviceKey)//从服务暴露里面提取 

                      -->DubboExporter.getInvoker()//最终得到一个invoker

-------------------------------------------------------------------------扩展点--------------

                    -->ProtocolFilterWrapper.invoke

                      -->EchoFilter.invoke

                        -->ClassLoaderFilter.invoke

                          -->GenericFilter.invoke

                            -->TraceFilter.invoke

                              -->MonitorFilter.invoke

                                -->TimeoutFilter.invoke

                                  -->ExceptionFilter.invoke

                                    -->InvokerWrapper.invoke

-------------------------------------------------------------------------扩展点--------------

                                      -->AbstractProxyInvoker.invoke

                                        -->JavassistProxyFactory.AbstractProxyInvoker.doInvoke

                                          --> 进入真正执行的实现类   DemoServiceImpl.sayHello

                                        ....................................

                -->channel.send(response);//把接收处理的结果,发送回去 

                  -->AbstractPeer.send

                    -->NettyChannel.send

                      -->ChannelFuture future = channel.write(message);//数据发回consumer

你可能感兴趣的:(dubbo源码阅读之provider-response)