摘要:
强烈建议查看 "官方文档" 这里我们可以发现,testService是proxy0对象,也就是服务引用那篇里返回的, @Autowired TestService testService:spring会去加载该Bean,调用到ReferenceBean.getObject获取对象 中间涉及到对数据的 阅读全文
摘要:
执行步骤 生成的代理类 入口: JavassistProxyFactory getProxy会生成一个代理类 与其说生成一个代理类,倒不如说是两个(具体在com.alibaba.dubbo.common.bytecode.Proxy getProxy中) 一个clazz(ccp),一个pc(ccm) 阅读全文
摘要:
Activate注解 被该注解修饰的接口,扩展类可能会被加载 ProtocolFilterWrapper.buildInvokerChain 它有两个设置的过滤条件,group,value 都是数组类型。用来指定这个扩展类在什么条件下激活。 下面以com.alibaba.dubbo.rpc.filt 阅读全文
摘要:
须知 强烈建议看官方文档 服务暴露 "文档地址" 服务发布 原理 发布步骤: 1. 暴露本地服务 2. 暴露远程服务 3. 启动netty 4. 打开连接zookeeper 5. 到zk注册 6. 监听zk 暴露本地服务和暴露远程服务有什么区别? 1. 暴露本地服务:指暴露在一个JVM里面,不用通过 阅读全文
摘要:
在服务(本地和远程)暴露的时候会调用proxyFactory.getInvoker方法 具体位置: 本地暴露:ServiceConfig exportLocal line:538 远程暴露: ServiceConfig doExportUrlsFor1Protocol line:512 会先调用AO 阅读全文
摘要:
关于@Adaptive注解 引用dubbo官方文档的一段话: Adaptive 可注解在类或方法上。当 Adaptive 注解在类上时,Dubbo 不会为该类生成代理类。注解在方法(接口方法)上时,Dubbo 则会为该方法生成代理逻辑。Adaptive 注解在类上的情况很少,在 Dubbo 中, 阅读全文
摘要:
ExtensionLoader 从上图中看到该类的构造方法被私有化,并且提供了一个静态方法来获取实例对象, 是的,该类使用了单例模式,懒汉模式 一、构造方法: 将当前接口类型赋值给 this.type 将AdaptiveExtensionFactory对象赋值给 objectFactory对象 二、 阅读全文