首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

读dubbo源码札记(三)

2012-10-26 
读dubbo源码笔记(三)现在看 核心的 ServiceConfig 首先推荐 看以下 netcomm 童鞋的文章 http://www.iteye.

读dubbo源码笔记(三)
现在看 核心的 ServiceConfig

首先推荐 看以下 netcomm 童鞋的文章
http://www.iteye.com/topic/1123039

在服务提供者暴露一个服务的详细过程 讲解的很清楚

服务提供者暴露一个服务
这些代码基本上都是在 ServiceConfig 完成

过程是
export --doExport --doExportUrls

export 方法 主要是 解决立即doExport还是 delay以后执行

doExport  主要是 装配和检查-- application,registries,monitor,Protocol

doExportUrls 真正的干活了
最主要的在最后的一段


如果 发现需要注册 那么
从proxyFactory 获取 AbstractProxyInvoker---(这里的URL是Registry URL,里面放置了 Provider URL )--- 然后 通过 RegistryProtocol 注册 --(export)-- 然后 ,生成InvokerDelegete --(这里的URL 是 从Register URL 取出Provider URL)-- 在根据实际 Provider Protocol--(export)-- 成  Exporter

RegistryProtocol  类 里面 这么玩的
    public <T> Exporter<T> export(final Invoker<T> originInvoker) throws RpcException {        //export invoker        final ExporterChangeableWrapper<T>  exporter = doLocolExport(originInvoker);        //registry provider        Registry registry = doRegister(originInvoker);        //设置exporter与registry的关系 (for unexport)        exporter.setRegistry(registry);        //保证每次export都返回一个新的exporter实例        return new Exporter<T>() {            public Invoker<T> getInvoker() {                return exporter.getInvoker();            }            public void unexport() {                exporter.unexport();            }        };    }


doLocolExport --最终执行 provider Protocol(dubboProtocol,rmiProtocol 等......................) 的 export方法 ,

doRegister 注册 URL ,实际上默认情况下 也是一个 dubbo协议RPC






热点排行